Autore Topic: GetDBO per creazione Componente Joomla (Da php a "php joomla :) )  (Letto 616 volte)

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 436
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Buongiorno e buon anno a tutti!!
Udite udite, sto iniziando a creare il mio primo componente in Joomla!
Ce la farò??
Chissa..
nel frattempo ho sempre mixato il codice php a joomla (e fin'ora ha funzionato...) ma ora è giunto il momento di fare qualcosa in più.
Ora: ho la necessità di "aggiornare" questo codice:
Codice: [Seleziona]

<?php
 mysql_connect
("LOCALHOST","USERNAME","PSW");
 
mysql_select_db("DATABASE");


 
$term=$_GET["term"];


 
$query=mysql_query("SELECT * FROM '#__com_anagen_' where nominativo like '%".$term."%' order by cognome ");
 
$json=array();


    while(
$nominativo=mysql_fetch_array($query)){
         
$json[]=array(
                    
'value'=> $nominativo["codice_fiscale"],
                    
'label'=>$nominativo["nominativo"]." (Codice Fiscale:".$nominativo["codice_fiscale"].")"
                        
);
    }


 echo 
json_encode($json);


?>







Ho provato a modificarlo con questo, ma senza risultati!


Codice: [Seleziona]

<?php
$db 
JFactory::getDbo();
$result $db->setQuery("SELECT * FROM '#__com_anagen_' where nominativo like '%".$term."%' order by cognome ")->loadAssocList();


 
$term=$_GET["term"];




 
$json=array();


    while(
$nominativo=array($query)){
         
$json[]=array(
                    
'value'=> $nominativo["codice_fiscale"],
                    
'label'=>$nominativo["nominativo"]." (Codice Fiscale:".$nominativo["codice_fiscale"].")"
                        
);
    }


 echo 
json_encode($json);


?>





Qualche suggerimento??


A.
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline Ahmed Salvini

  • Appassionato
  • ***
  • Post: 337
    • Mostra profilo
Re:GetDBO per creazione Componente Joomla (Da php a "php joomla :) )
« Risposta #1 il: 02 Gen 2018, 11:38:08 »
Non puoi mischiare nulla.
Probabilmente ti sfugge il concetto di classi, di incapsulazione, polimorfismo ed ereditarietà.

Devi partire dalla programmazione a oggetti, quando ti è chiara quella puoi affrontare il fw di joomla aiutandoti con un IDE di sviluppo.

http://www.html.it/guide/guida-programmazione-ad-oggetti-con-php-5/
« Ultima modifica: 02 Gen 2018, 13:28:23 da Ahmed Salvini »

Offline Alex21

  • Appassionato
  • ***
  • Post: 603
    • Mostra profilo
    • servizi web
Re:GetDBO per creazione Componente Joomla (Da php a "php joomla :) )
« Risposta #2 il: 02 Gen 2018, 13:52:50 »
Beh, senza approfondire, mi sembra che stai provando ad avere il risultato grezzo della query nella variabile $result.
Poi, però cerchi di avere il dettaglio leggendo una variabile $query  (ciclo while). $query è vuota mi sa.
Il sistema più semplice per aggiornare il codice è quello di trasformare il vecchio mysql in mysqli; le query diventano tutte mysqli.


PDO è più versatile perché funziona anche con database non mysql e joomla ha degli ottimi metodi di uso. Un po' complicati da scrivere, però. La documentazione di joomla è discreta e si può sempre esaminare il codice del CMS per degli esempi di uso.


Guarda che joomla è puro php. Nulla da mischiare quindi.


E' meglio se non recuperi direttamente $term ma lo fai passare per un filtro. Anche qui joomla ha sistemi eccellenti, ma vanno bene anche quelli diretti del php se uno non è un joomla - purista.


Ciao!
BUON 2018 a trutti!


 

Torna su