Raga sto motore di ricerca si sta rivelando piu tosto di quanto pensassi, ho un due tabelle:
ho un form con un campo text che preleva la parola chiave e 3 campi select obbligatoricodice:tabella utenti: campi ( id, nome, cognome, citta, regione, data_nascita, data_registrazione, data_ultima_modifica, email, password ) tabella annunci_attivi: campi (id, id_utente, data_inserimento, categoria, titolo, descrizione, prezzo, nome_foto, dimensione_foto)
Codice PHP:<form name="cerca_annunci" action="cerca_annunci.php" method="post" >
<input type="text" name="parola_annuncio" size="40" />
<select name="categoria" >..............</select>
<select name="modprovincia" >
<option value="Tutte le provincie">Tutte le provincie</option>
<option value="agrigento">Agrigento</option>
......
</select>
<select name="modregione" >
<option value="Tutta Italia">Tutta Italia</option>
<option value="abruzzo">Abruzzo</option>
......
</select>
<input name="cerca_annuncio" type="submit" value=" cerca" title="cerca annuncio" width="89" height="17">
</form>
e fin qui ci siamo, i problemi li incontro quando mi trovo nella pagina:
cerca_annunci.php
ecco il codice
non so dirvi se la query è scritta bene so che non mi manda piu nel ramo else dove stampavoCodice PHP://ottieni risultati dal post
$parola_annuncio = mysql_real_escape_string($_GET['parola_annuncio']);
$categoria_annuncio = mysql_real_escape_string($_GET['categoria']);
$citta_annuncio = mysql_real_escape_string($_GET['modprovincia']);
$regione_annuncio = mysql_real_escape_string($_GET['modregione']);
//situazione in cui tutti i campi del form vengono compilati
$query_cerca_annunci = mysql_query("SELECT annunci_attivi.id_utente, annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria, MATCH(annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria)
AGAINST('+$regione_annuncio +$citta_annuncio +$categoria_annuncio $parola_annuncio' IN BOOLEAN MODE)
as score FROM annunci_attivi
INNER JOIN utenti ON annunci_attivi.id_utente = utenti.id
WHERE MATCH(utenti.citta, utenti.regione) AGAINST('+$regione_annuncio +$citta_annuncio +$categoria_annuncio $parola_annuncio'
IN BOOLEAN MODE) ORDER BY score DESC");
//se la query funziona
if($query_cerca_annunci){
$conta_righe_annunci_trovati = mysql_num_rows($query_cerca_annunci);
if($conta_righe_annunci_trovati > 0){
$id_utenti_annunci = array();
$id_annunci = array();
$categorie_annunci = array();
$prezzi_annunci = array();
$citta_annunci = array();
$regioni_annunci = array();
$titoli_annunci = array();
$descrizioni_annunci = array();
$i = 0;
while($rows_annunci_trovati = mysql_fetch_array($query_cerca_annunci)){
$i++;
$id_annunci[$i] = $rows_annunci_trovati['id'];
$categorie_annunci[$i] = $rows_annunci_trovati['categoria'];
$prezzi_annunci[$i] = $rows_annunci_trovati['prezzo'];
$citta_annunci[$i] = $rows_annunci_trovati['citta'];
$regioni_annunci[$i] = $rows_annunci_trovati['regione'];
$titoli_annunci[$i] = $rows_annunci_trovati['titolo'];
$descrizioni_annunci[$i] = $rows_annunci_trovati['descrizione'];
}
echo $citta_annunci[1];
}else{
echo 'Nessun annuncio trovato';
}
}else{
echo 'La query non è andata a buon fine';
}
so però che adesso mi da i seguenti errori:Codice PHP:echo 'La query non è andata a buon fine';
credo che quando si effettua una join non si estrapolano i dati in questo modocodice:Notice: Undefined index: id in C:EasyPHPwwwaaacerca__annunci.php on line 76 Notice: Undefined index: categoria in C:EasyPHPwwwaaacerca_annunci.php on line 77 Notice: Undefined index: prezzo in C:EasyPHPwwwaaacerca_annunci.php on line 78 Notice: Undefined index: citta in C:EasyPHPwwwaaacerca_annunci.php on line 79 Notice: Undefined index: regione in C:EasyPHPwwwaaacerca_annunci.php on line 80 Notice: Undefined index: id in C:EasyPHPwwwaaacerca_annunci.php on line 76 Notice: Undefined index: categoria in C:EasyPHPwwwaaacerca_annunci.php on line 77 Notice: Undefined index: prezzo in C:EasyPHPwwwaaacerca_annunci.php on line 78 Notice: Undefined index: citta in C:EasyPHPwwwaaacerca_annunci.php on line 79 Notice: Undefined index: regione in C:EasyPHPwwwaaacerca_annunci.php on line 80 Notice: Undefined index: id in C:EasyPHPwwwaaacerca_annunci.php on line 76 Notice: Undefined index: categoria in C:EasyPHPwwwaaacerca_annunci.php on line 77 Notice: Undefined index: prezzo in C:EasyPHPwwwaaacerca_annunci.php on line 78 Notice: Undefined index: citta in C:EasyPHPwwwaaacerca_annunci.php on line 79 Notice: Undefined index: regione in C:EasyPHPwwwaaacerca_annunci.php on line 80
qualcuno sa come fare?Codice PHP:while($rows_annunci_trovati = mysql_fetch_array($query_cerca_annunci)){
$i++;
$id_annunci[$i] = $rows_annunci_trovati['id'];
$categorie_annunci[$i] = $rows_annunci_trovati['categoria'];
$prezzi_annunci[$i] = $rows_annunci_trovati['prezzo'];
$citta_annunci[$i] = $rows_annunci_trovati['citta'];
$regioni_annunci[$i] = $rows_annunci_trovati['regione'];
$titoli_annunci[$i] = $rows_annunci_trovati['titolo'];
$descrizioni_annunci[$i] = $rows_annunci_trovati['descrizione'];
}

Rispondi quotando