Back to top

Autore Topic: [RISOLTO]Query php Joomla per caricamento dati tramite DB  (Letto 3166 volte)

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
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 :(
« Ultima modifica: 19 Set 2016, 10:59:13 da andreasuriani »
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #1 il: 15 Set 2016, 20:05:11 »
tabella è un nome  di esempio o è il vero nome della tabella perché altrimenti devi metterci #__ prima.

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #2 il: 15 Set 2016, 20:08:24 »
E' un nome di esempio......
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #3 il: 15 Set 2016, 22:06:07 »
Il problema è qui:

Codice: [Seleziona]
if($count > 0)
Questo controllo non ha senso e restituirà sempre false essendo in php qualunque stringa == 0
Usa piuttosto un controllo più appropriato:

Codice: [Seleziona]
$db = JFactory::getDbo();
$results = $db->setQuery("SELECT * FROM `#__tabella` WHERE id = {$form->data['id']}")->loadObject();
if($result != null)
{
     // fa qualcosa...
}
 

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #4 il: 16 Set 2016, 09:34:37 »
Ciao Giovi,
però se io faccio l'echo di count mi restituisce 1....
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #5 il: 16 Set 2016, 10:31:53 »
Ho provato il tuo codice, ma non funziona

Codice: [Seleziona]
<?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"...
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #6 il: 16 Set 2016, 11:28:14 »
E' perchè nel mio codice c'era una "s" di troppo  ;D
Riprova:
Codice: [Seleziona]
<?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";
}
?>

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #7 il: 19 Set 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:
Codice: [Seleziona]

<?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?
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #8 il: 19 Set 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:
Codice: [Seleziona]
<?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?

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #9 il: 19 Set 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... :/
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #10 il: 19 Set 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
« Ultima modifica: 19 Set 2016, 10:54:06 da giovi »

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Query php Joomla per caricamento dati tramite DB
« Risposta #11 il: 19 Set 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
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

 



Web Design Bolzano Kreatif