Originariamente inviato da Fichico
in pratica facendo la union devi avere per ogni tabella tutti gli stessi campi, e ti mette un - nel campo (se noti è usato per i campi mancanti in base alla tabella)
ci puoi anche mettere null al posto di '-'
Ho provato ad inserire altri alias per ricavare la tabella da dove veninva estratto il risultato facendo così:
Codice PHP:
$sql="(SELECT ID, Page_it as pagina, Content_it as contenuto, null as oggetto, null as descrizione, null as titolo, 'db1' as mydatabse FROM page as db1 WHERE db1.Page_it LIKE '%$research%' OR db1.Content_it LIKE '%$research%')";
$sql.=" UNION ";
$sql.="(SELECT ID, null as pagina, Content_it as contenuto, Object_it as oggetto, Description_it as descrizione, null as titolo, 'db2' as mydatabse FROM event as db2 WHERE db2.Object_it LIKE '%$research%' OR db2.Description_it LIKE '%$research%' OR db2.Content_it LIKE '%$research')";
$sql.=" UNION ";
$sql.="(SELECT ID, null as pagina, null as contenuto, Object_it as oggetto, Description_it as descrizione, null as titolo, 'db3' as mydatabase FROM news as db3 WHERE db3.Object_it LIKE '%$research%' OR db3.Description_it LIKE '%$research%')";
$sql.=" UNION ";
$sql.="(SELECT ID, null as pagina, null as contenuto, null as oggetto, Description_it as descrizione, Title_it as titolo, 'db4' as mydatabase FROM podcast as db4 WHERE db4.Title_it LIKE '%$research%' OR db4.Description_it LIKE '%$research%')";
...
poi ho provato a stampare semplicemente a video la tabella di appartenenza:
Codice PHP:
$Query=mysql_query($sql) or die (mysql_error());
while($Rec=mysql_ftech_array($Query)){
echo $Rec["mydatabase"];
}
ma non mi tira fuori il valore anche se la questa funziona perchè la ricerca tira fuori i record ricercati.