Salve ragazzi ho questo codice che utilizzo per fare una ricerca con parole multiple su varie tabelle del database dopo averle filtrate mediante dei criteri
purtroppo mi da il seguente errore:
Parse error: parse error, unexpected '}'
Qualcuno ha la gentilezza di darmi una mano?
ECCO IL CODICE IN QUESTIONE (ho indicato la riga a cui il messaggio d'errore fa riferimento):
<?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]
<?
if (isset($chiave)){
$parole= explode(" ",$chiave); // Explode the keywordstring, and create an array
$query_base = array(); // Define the querybase as an empty array
foreach($parole as $chiave) // for each value in the keywords array
{
if($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%'
)"
} // ###### this is the line with the error ######
$query_string = 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_string;
$dati=mysql_db_query("$sql_db",$query_string);
while ($row = mysql_fetch_array ($dati)){
$verifica=$row["books"];
echo $row["fname"]." ".$row["lname"]."
";
echo "interessi: ".$row["interests"]."
";
echo "descrizione: ".$row["about"]."
";
echo "posizioni ".$row["p_positions"]."
";
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>");
}
mysql_free_result ($dati);
}else{
echo "Elenco Corrispondenze";
}
mysql_free_result ($query);
mysql_close ($link);
?>