Joomla.it Forum

Joomla! 3 => Joomla! 3 => : andreasuriani 15 Sep 2016, 19:12:19

: [RISOLTO]Query php Joomla per caricamento dati tramite DB
: 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 :(
: Re:Query php Joomla per caricamento dati tramite DB
: tomtomeight 15 Sep 2016, 20:05:11
tabella è un nome  di esempio o è il vero nome della tabella perché altrimenti devi metterci #__ prima.
: Re:Query php Joomla per caricamento dati tramite DB
: andreasuriani 15 Sep 2016, 20:08:24
E' un nome di esempio......
: Re:Query php Joomla per caricamento dati tramite DB
: giovi 15 Sep 2016, 22:06:07
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...
}
 
: Re:Query php Joomla per caricamento dati tramite DB
: andreasuriani 16 Sep 2016, 09:34:37
Ciao Giovi,
però se io faccio l'echo di count mi restituisce 1....
: Re:Query php Joomla per caricamento dati tramite DB
: andreasuriani 16 Sep 2016, 10:31:53
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"...
: Re:Query php Joomla per caricamento dati tramite DB
: giovi 16 Sep 2016, 11:28:14
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";
}
?>
: Re:Query php Joomla per caricamento dati tramite DB
: andreasuriani 19 Sep 2016, 10:07:00
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?
: Re:Query php Joomla per caricamento dati tramite DB
: giovi 19 Sep 2016, 10:28:07
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?
: Re:Query php Joomla per caricamento dati tramite DB
: andreasuriani 19 Sep 2016, 10:34:08
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... :/
: Re:Query php Joomla per caricamento dati tramite DB
: giovi 19 Sep 2016, 10:52:09
$db->setQuery("SELECT azienda FROM...  ;)

Riprendi la query che ti ho postato qui: http://forum.joomla.it/index.php/topic,260920.msg1212593.html#msg1212593
: Re:Query php Joomla per caricamento dati tramite DB
: andreasuriani 19 Sep 2016, 10:58:49
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