problemino con motore di ricerca :(

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao a tutti, chi mi puo' aiutare plesa...

Ho sul mio sito un motore di ricerca che funziona correttamente se interrogo una tabella, ora io vorrei fargli interrogare più tabelle del db ma mi da errore

Column 'tipo' in where clause is ambiguous

Le ho provate tutte ma niente, vi posto lo script se qualcuno sa dove sbaglio e mi aiuta grazie mille

Modulo di ricerca:

PHP:
<form action='testcerca.php?ricerca=ok' method='POST'> 





  <input type='text' tabindex='15' name='cerca' class='input' size="15" > 
   

  <input type="image" src="immagini/trova.gif"  value='Cerca'> 

        </form>

Motore che cerca e restituisce i link :

PHP:
<?php 

// connettiamoci il nostro database 

$db_host = "localhost"; 
$db_user = ""; 
$db_password = ""; 
$db_name = ""; 

//connetto il database 

$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione'); 
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db'); 

// recuperiamo il valore ricerca inviato con get 

$ricerca = $_GET['ricerca']; 

// vediamo se è stato inviato, e quindi uguale a ok 

if ( $ricerca == 'ok' ) { 

// recuperiamo ora cerca inviato con post 

$cerca = $_POST['cerca']; 

// vediamo se è stato compilato il campo 

if ( $cerca == TRUE && $cerca != "" ) { 

// ora vediamo se supera i tre caratteri 

if ( strlen($cerca) >= 3 ) { 

// ora depuriamo la stringa da cercare sul database  

$cerca =  mysql_escape_string(stripslashes($cerca));  

// ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi 

$query = "SELECT * FROM antipasti, primo, secondo WHERE tipo LIKE '%$cerca%' OR titolo LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR ingredienti LIKE '%$cerca%' OR breve LIKE '%$cerca%' OR title LIKE '%$cerca%' OR ricerca LIKE '%$cerca%'  ";  

$risultato = mysql_query($query) or die (mysql_error());  

$risposta = mysql_query($query) or die ("Utilizza termini più specifici!"); 

$dentro_la_query= mysql_fetch_assoc($risposta); 

if ( $dentro_la_query == TRUE ) { 

while($row= mysql_fetch_assoc($risultato)) {  


$tipo = $row['tipo']; 
$foto = $row['foto']; 

$ricerca = $row['ricerca']; 


// stampiamo i nostri dati 





echo "<a href=\"http://www.cites.com/testcerca_ricette.php?id=$id\"/>$foto</a><br>";  

echo "<a href=\"http://www.cites.com/testcerca_ricette.php?id=$id\"/>$ricerca</a><br>";  
echo "Descrizione Breve : $tipo<br>"; 


} 

} else { 

echo "Nessun temine alla ricerca trovato"; 

} 


} else { 

echo "Devi inserire almeno 3 caratteri"; 

} 

} else { 

echo "Non hai compilato il modulo ricerca"; 

} 

} 

?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Nelle 3 tabelle (antipasti, primo e secondo) ci sarà sicuramente più di un campo con il nome TIPO...quindi sostituisci questa:
PHP:
$query = "SELECT * FROM antipasti, primo, secondo WHERE tipo LIKE '%$cerca%' OR titolo LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR ingredienti LIKE '%$cerca%' OR breve LIKE '%$cerca%' OR title LIKE '%$cerca%' OR ricerca LIKE '%$cerca%'  ";

con questa:
PHP:
$query = "SELECT * FROM antipasti, primo, secondo WHERE antipasti.tipo LIKE '%$cerca%' OR primo.tipo LIKE '%$cerca%' OR secondo.tipo LIKE '%$cerca%' OR titolo LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR ingredienti LIKE '%$cerca%' OR breve LIKE '%$cerca%' OR title LIKE '%$cerca%' OR ricerca LIKE '%$cerca%'  ";

Ho scritto la query pensando che il campo TIPO si trova in tutte e 3 le tabelle. Sicuramente si trova in più di una, quindi sono stato portato a pensare che si trovi in tutte. Se è così provala.



Resta il fatto che ti manca la condizione per la quale si uniscano le tabelle! Se non c'è un campo chiave primaria in una e chiave esterna nell'altra per tutte e 3 devi cambiare modo e fare 3 query separate perchè in questo modo si crea solo una moltiplicazione tra tabelle! che onestamente non serve a nulla.
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
B [MySQL] Problemino con UPDATE MySQL 10
L [HTML] Problemino con le immagini di sfondo HTML e CSS 4
Adwordsmaniac problemino con Chrome HTML e CSS 3
A problemino con $_POST PHP 5
otto9due Piccolo problemino con il formato data e immagini per gli rss PHP 1
L Recupero dati form in tabella e invio con ajax. Problemino jQuery 1
G Piccolo problemino con PHP, mi potreste aiutare per favore? PHP 0
A problemino con un form PHP 4
borgo italia problemino con serialize/unserialize PHP 5
Frank10 Problemino con il menu fisso in fondo pagina ed il solito, explorer HTML e CSS 10
S piccolo problemino con variabile tipo PHP 12
S problemino con dati database Database 0
O problemino con le sessioni tra le pagine PHP 2
Z Problemino con le date Classic ASP 1
catellostefano problemino con le sessioni PHP 7
K Problemino con le prime prove PHP 3
P problemino con il valore di ritorno di una funzione Javascript 2
L [Java] Problemino con JSP Java 0
S Problemino da Newbie con DOM Javascript 0
F Problemino con IE e innerHTML Javascript 4
L problemino con explorer Windows e Software 4
Kanji Problemino con gif e flash Flash 6
A Problemino con pulsanti e movie clip Flash 0
T [HTML] [Prestashop] Problemino grafico su versione Responsive del sito CMS (Content Management System) 9
M problemino legale: farsi dare le password dai precedenti gestori del sito. Leggi, Normative e Fisco 0
otto9due Piccolo problemino su inserimento dati db da form PHP 5
P [RISOLTO]problemino di catalogazione Javascript 2
E MaterPage..problemino... ASP.NET 1
GoshMaledetto problemino evento click jQuery 4
A node.js - Problemino Javascript 0
T funzione isset qualche problemino PHP 5
G Errore MySQL (era: problemino) PHP 4
F problemino su un js da menujavascript.org Javascript 8
A problemino.... PHP 1
N problemino codice Javascript 1
S problemino click.. Flash 1
P Creare Modulo di Ricerca [era:problemino] Classic ASP 1
N Problemino col FrontPage... HTML e CSS 7
Nik Problemino tecnico Classic ASP 2
R Problemino Javascript 12
A ciao,chi può risolvermi un problemino sul blog? Discussioni Varie 0
C Problemino Stupido... HTML e CSS 5
D HELP ! problemino.... Sicurezza e Virus 1
S Problemino HTML e CSS 2
N problemino Classic ASP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0

Discussioni simili