Joomla.it Forum
Joomla! 3 => Joomla! 3 => : andreasuriani 15 Sep 2016, 19:12:19
-
Ciao a tutti,
ho scritto questa query ma non mi visualizza nessun dato.
$db = JFactory::getDbo();
$query = "SELECT * FROM `tabella` WHERE id LIKE '" . $form->data['id'] . "'";
$db->setQuery($query);
$count = $db->loadResult();
if($count > 0){
# Record Trovato
$vetQuery = $db->loadAssoc();
$urlfile = $vetQuery['file'];
$statovariazione = $vetQuery['stato'];
$utente_controllo = $vetQuery['username_controllo'];
$data_controllo = $vetQuery['data_inser_controllo'];
$azienda = $vetQuery['azienda'];
$data_controllo = $vetQuery['data_inser_controllo'];
$nominativo = $vetQuery['nominativo'];
$tipo_variazione = $vetQuery['tipo_var'];
$note1 = $vetQuery['note'];
$utente = $vetQuery['username'];
$data_inserimento = $vetQuery['data_inser'];
$user_approvato = $vetQuery['username_approv'];
$data_approvato = $vetQuery['data_approv'];
$note_approvato = $vetQuery['note_approv'];
$note_esito = $vetQuery['note_esito'];
}else{
#Record Non Trovato
echo "non trovato";
}
Dov'è l'errore??
Aiutoooooo :(
-
tabella è un nome di esempio o è il vero nome della tabella perché altrimenti devi metterci #__ prima.
-
E' un nome di esempio......
-
Il problema è qui:
if($count > 0)
Questo controllo non ha senso e restituirà sempre false essendo in php qualunque stringa == 0
Usa piuttosto un controllo più appropriato:
$db = JFactory::getDbo();
$results = $db->setQuery("SELECT * FROM `#__tabella` WHERE id = {$form->data['id']}")->loadObject();
if($result != null)
{
// fa qualcosa...
}
-
Ciao Giovi,
però se io faccio l'echo di count mi restituisce 1....
-
Ho provato il tuo codice, ma non funziona
<?php
$db = JFactory::getDbo();
$results = $db->setQuery("SELECT * FROM `xcsri_variazioni_mensili` WHERE id = {$form->data['id']}")->loadObject();
if($result != null)
{
echo "ciao";
}
else
{
echo "pippo";
}
?>
Sia che io inserisca l valore 1 (che è la stringa presente) o il valore 2( che non esiste) il risultato è sempre "pippo"...
-
E' perchè nel mio codice c'era una "s" di troppo ;D
Riprova:
<?php
$db = JFactory::getDbo();
$result = $db->setQuery("SELECT * FROM `xcsri_variazioni_mensili` WHERE id = {$form->data['id']}")->loadObject();
if($result != null)
{
echo "Ce l'abbimo fatta";
}
else
{
echo "Non ti scoraggiare";
}
?>
-
Buondi!
(Scusa ma il week end cerco sempre di staccare la spina :P )
Ok per il controllo, ma poi l'echo delle stringhe richiamate non funziona.
Ecco il codice:
<?php
$db = JFactory::getDbo();
$result = $db->setQuery("SELECT azienda FROM `xcsri_variazioni_mensili` WHERE id = {$form->data['id']}")->loadObject();
$vetQuery = $db->loadAssoc();
$urlfile = $vetQuery['file'];
$statovariazione = $vetQuery['stato'];
$utente_controllo = $vetQuery['username_controllo'];
$data_controllo = $vetQuery['data_inser_controllo'];
$azienda = $vetQuery['azienda'];
$data_controllo = $vetQuery['data_inser_controllo'];
$nominativo = $vetQuery['nominativo'];
$tipo_variazione = $vetQuery['tipo_var'];
$note1 = $vetQuery['note'];
$utente = $vetQuery['username'];
$data_inserimento = $vetQuery['data_inser'];
$user_approvato = $vetQuery['username_approv'];
$data_approvato = $vetQuery['data_approv'];
$note_approvato = $vetQuery['note_approv'];
$note_esito = $vetQuery['note_esito'];
if($result != null)
{
echo $statovariazione;
echo $urlfile;
}
else
{
echo "pippo";
}
?>
Se invio l'id 2 (che non esiste), arriva "Pippo", se invece inserisco l'1 (che esiste) non esce niente...
Dove sbaglio?
-
Mmmm... sinceramente non so cosa c'è dentro l'oggetto $db dopo che ho chiamato loadObject(), quindi non so se puoi usare loadAssoc() subito dopo. Ad ogni modo non hai bisogno di scrivere tutto quel codice, ti basterà semplicemente fare:
<?php
$db = JFactory::getDbo();
$result = $db->setQuery("SELECT azienda FROM `xcsri_variazioni_mensili` WHERE id = {$form->data['id']}")->loadObject();
if($result != null)
{
echo $result->stato;
echo $result->file;
echo $result->username_controllo;
echo $result->data_inser_controllo;
echo $result->azienda;
echo $result->data_inser_controllo;
echo $result->nominativo;
echo $result->tipo_var;
echo $result->note;
echo $result->username;
echo $result->data_inser;
echo $result->username_approv;
echo $result->data_approv;
echo $result->note_approv;
echo $result->note_esito;
// etc...
}
else
{
echo "pippo";
}
?>
In pratica usi sempre $result->nomeCampo; quando ti serve una proprietà dell'oggetto. Io lo trovo più comodo e più pulito, che ne pensi?
-
Se funzionasse sarebbe bellissimo.. ma purtroppo non funziona.
Giuro che tutti i campi sono compilati dentro il DB, ma estrae solo $result->azienda; gli altri non li calcola proprio... :/
-
$db->setQuery("SELECT azienda FROM... ;)
Riprendi la query che ti ho postato qui: http://forum.joomla.it/index.php/topic,260920.msg1212593.html#msg1212593
-
E' proprio lunedi.... ;D ;D ;D ;D 8) 8) 8) 8)
G R A Z I E !
Non sai quanto lavoro mi hai risparmiato :D