richiamare campo della tabella left join

ciao devo sistemare la query per recuperare il valore del campo cat_title in #__tab_category

l'errore è qua: $tab=$vendor->cat_title;

 o qua

$query_all = "SELECT *, v.cat_title FROM #__tabmart ax ";

perchè $vendor->product_id e $vendor->cat_id me li da

nel senso come dovrei richiamare questo campo della tabella left join??

così questo

$tab=$vendor->cat_title;

rimane vuoto

grazie dell'aiuto!!!

$query_all = "SELECT *, v.cat_title FROM #__tabmart ax ";

$query_all .=" LEFT JOIN #__tab_category v ON ax.cat_id = v.id ";

// $query_all .=" WHERE ax.product_id =".(int)$product_id;

$db = new ps_DB;

//if ($auto == 1 && !empty( $category_id ) ) {

// $db->query( $query );

//} else {

$db->query( $query_all );

$res = $db->record;

foreach( $res as $vendor) {

if( $_REQUEST['Itemid'] == $vendor->product_id ) {

$tabmart_id=$vendor->product_id;

$tabcat=$vendor->cat_id;

$tab=$vendor->cat_title;

}

}

inviato 5 anni fa
surferbloggy
X 0 X

Puoi cortesemente indentare il codice ed utilizzare i tag appositi per includere il codice?

risposto 5 anni fa
Mario Santagiuliana
X 0 X
$query_all = "SELECT *, v.cat_title FROM #__tabmart ax ";
$query_all .=" LEFT JOIN #__tab_category v ON ax.cat_id = v.id ";
// $query_all .=" WHERE ax.product_id =".(int)$product_id;


$db = new ps_DB;

$db->query( $query_all );

$res = $db->record;

foreach( $res as $vendor) {

         if( $_REQUEST['Itemid'] == $vendor->product_id ) {
                   $tabmart_id=$vendor->product_id;
                   $tabcat=$vendor->cat_id;
                   $tab=$vendor->cat_title;
         }
}
risposto 5 anni fa
surferbloggy
X 0 X

Mi sembra molto più leggibile no?

Non conosco gli oggetti che stai usando, per cui il mio suggerimento è: creare a parte la query sql, e tramite phpmyadmin o altro verificare la sua funzionalità.

Di più non so dirti perchè non ho capito che vuoi richiamare e la struttura delle tue tabelle.

risposto 5 anni fa
Mario Santagiuliana
X 0 X

grazie cmq ti posso chiedere una cosa? se volessi recuperare tutti i campi di tutte due le tabelle se faccio

SELECT *, *

$query_all = "SELECT *, * FROM #__tabmart ax ";

$query_all .=" LEFT JOIN #__tab_category v ON ax.cat_id = v.id ";

// $query_all .=" WHERE ax.product_id =".(int)$product_id;

com'è la forma  corretta??

risposto 5 anni fa
surferbloggy
X 0 X

Semplicemente SELECT *

risposto 5 anni fa
Mario Santagiuliana
X 0 X

grazie! ciao! :bye:

risposto 5 anni fa
surferbloggy
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda