Search Script with duplicated results

mariatmind

Nuovo Utente
25 Nov 2005
5
0
0
Ricerca multipla con risultati duplicati
Ragazzi ho il seguente problema:

Quando eseguo la ricerca con una parola: tutto ok

Quando eseguo la ricerca con più parole mi duplica i risultati per ogni parola cercata.

sapreste ancora una volta darmi una mano?

GRAZIE

ECCO IL CODICE...

<?php
include("data.php");
include("paging.func.php");

$link=mysql_connect("$sql_host","$sql_user","$sql_pass");





$tutto = "SELECT A.*, B.* FROM members AS A INNER JOIN profiles AS B ON A.mem_id = B.mem_id";
$query = mysql_db_query ($sql_db,$tutto)
or die ("Non riesco ad eseguire la richiesta $tutto");
$righe = mysql_num_rows ($query);



if ($settore == "10"){ $settorevar = ''; }
else{ $settorevar = "and B.industry = '$settore'"; }


if ($nazione == "all"){ $nazionevar = ''; }
else{ $nazionevar = "and A.country = '$nazione'"; }



?>
contenuti <? echo $righe ?> contatti</b></td>
</tr>


<tr>
<td width="100%" colspan="2">
<p align="center">
<form method=POST action=<? echo $PATH_INFO ?>>

<input type="text" name="chiave" size="20">


<select name="nazione" onChange="listCategory.populate();" width="150" style="width: 150px" align="center">
<option value="all" >ovunque</option>
<option value="italy">italia</option>
<option value="usa">usa</option>
<option value="france">france</option>
</select>


<select name="settore" size="5" onChange="listmessage_categoryId.populate();" width="150" style="width: 150px" align="center">

<option SELECTED value="10" >qualunque</option>
<option value="8">Telecomunicazioni</option>
<option value="80">Marketing ed Advertising</option>
<option value="13">Pratica Medica</option>


</select>



</td>
</tr><tr>
<td width="100%" colspan="2">
<p align="center">
<input type="submit" value="Cerca Corrispondenze">
</td></form></tr></table>
</td><td width="74%">
<blockquote>
<p align="left"><b><br>



<?


if (isset($chiave)){

$parole= explode(" ",$chiave); // Explode the keywordstring, and create an array

$query = array(); // Define the querybase as an empty array

foreach($parole as $chiave) // for each value in the keywords array
{
if(!empty($chiave)) // check against empty values
{ // Now create an individual array value for each keyword
$query[] = "(fname LIKE '%$chiave%'
or lname LIKE '%$chiave%'
or interests LIKE '%$chiave%'
or books LIKE '%$chiave%'
or about LIKE '%$chiave%'
or skills LIKE '%$chiave%'
or p_positions LIKE '%$chiave%'
)" ;
}

$query_str = implode(" and ", $query); // merge all array elements, use AND between individual sections

// Now finish the querystring with required sql commands
$query_string = "

SELECT A.*, B.*
FROM members AS A
INNER JOIN profiles AS B
ON A.mem_id = B.mem_id $nazionevar $settorevar
WHERE ".$query_str;


$dati=mysql_db_query("$sql_db",$query_string);

while ($row = mysql_fetch_array ($dati)){
$verifica=$row["books"];

echo $row["fname"]." ".$row["lname"]."<br>";
echo "interessi: ".$row["interests"]."<br>";
echo "descrizione: ".$row["about"]."<br>";
echo "posizioni ".$row["p_positions"]."<br>";
echo "Attitudini: ".$row["skills"]."<hr size=1 color=#000000>";
echo "<a href=\"index.php?mode=people_card&p_id=".$row["mem_id"]."\">Guarda il profilo</a>"."<hr size=1 color=#000000>";
}
}
if (!$verifica){
print ("Nessuna corrispondenza
per la parola <font color=#000080>$chiave</font>");
}


}else{
echo "Elenco Corrispondenze";
}
mysql_close ($link);
?>
 

Discussioni simili