Ragazzi vi spiego il problema:
Io devo fare la ricerca sui campi di una tabella...(profiles)
ma ogni risultato stampato deve contenere anche 2 campi (fname e lname) della tabella members
la tabella 1 è "members" da cui prendere i campi "fname" e "lname" corrispondenti all'id
la tabella 2 è "profiles" in cui ricercare la key in vari campi tra cui "skills" e "interests"
le due tabelle hanno in comune il campo "mem_id" che potrebbe servire per associare i risultati nella fase di stampa...
ho pensato di fare la ricerca su entrambe le tabelle ma non funzione perchè mi da risultati duplicati ed errati... mi sapreste aiutare...
ECCO IL CODICE CHE HO USATO
<html>
<head>
<title>Cerca Corrispondenze</title>
</head>
<body>
<TABLE border="1" width="100%" bordercolor="#000000" bgcolor="#008080" cellpadding="0">
<tr>
<td width="100%" colspan="2">
<p align="center"><font size="4">
<b>La mia rubrica</b></font></td>
</tr>
<tr>
<td width="26%" valign="top">
<TABLE border="1" width="100%" bgcolor="#C0C0C0" bordercolor="#008000">
<tr>
<td width="100%" colspan="2">
<p align="center"><b>
<?php
include("data.php");
$link=mysql_connect("$sql_host","$sql_user","$sql_pass");
function search_user(){
$m_id=cookie_get("mem_id");
$m_pass=cookie_get("mem_pass");
login_test($m_id,$m_pass);
}
$tutto = "SELECT * FROM profiles JOIN members ";
$query = mysql_db_query ($sql_db,$tutto)
or die ("Non riesco ad eseguire la richiesta $tutto");
$righe = mysql_num_rows ($query);
?>
La rubrica contiene <? 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"></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)){
$dati=mysql_db_query("$sql_db","SELECT * FROM profiles JOIN members
WHERE profiles.mem_id = members.mem_id AND interests LIKE '%$chiave%' or books LIKE '%$chiave%'
or about LIKE '%$chiave%' or skills LIKE '%$chiave%' or p_positions LIKE '%$chiave%'");
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=\"http://www.weblow.net/friends/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);
?>
</b></p></blockquote>
</td></tr></table>
</body>
</html>
Grazie molte
Io devo fare la ricerca sui campi di una tabella...(profiles)
ma ogni risultato stampato deve contenere anche 2 campi (fname e lname) della tabella members
la tabella 1 è "members" da cui prendere i campi "fname" e "lname" corrispondenti all'id
la tabella 2 è "profiles" in cui ricercare la key in vari campi tra cui "skills" e "interests"
le due tabelle hanno in comune il campo "mem_id" che potrebbe servire per associare i risultati nella fase di stampa...
ho pensato di fare la ricerca su entrambe le tabelle ma non funzione perchè mi da risultati duplicati ed errati... mi sapreste aiutare...
ECCO IL CODICE CHE HO USATO
<html>
<head>
<title>Cerca Corrispondenze</title>
</head>
<body>
<TABLE border="1" width="100%" bordercolor="#000000" bgcolor="#008080" cellpadding="0">
<tr>
<td width="100%" colspan="2">
<p align="center"><font size="4">
<b>La mia rubrica</b></font></td>
</tr>
<tr>
<td width="26%" valign="top">
<TABLE border="1" width="100%" bgcolor="#C0C0C0" bordercolor="#008000">
<tr>
<td width="100%" colspan="2">
<p align="center"><b>
<?php
include("data.php");
$link=mysql_connect("$sql_host","$sql_user","$sql_pass");
function search_user(){
$m_id=cookie_get("mem_id");
$m_pass=cookie_get("mem_pass");
login_test($m_id,$m_pass);
}
$tutto = "SELECT * FROM profiles JOIN members ";
$query = mysql_db_query ($sql_db,$tutto)
or die ("Non riesco ad eseguire la richiesta $tutto");
$righe = mysql_num_rows ($query);
?>
La rubrica contiene <? 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"></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)){
$dati=mysql_db_query("$sql_db","SELECT * FROM profiles JOIN members
WHERE profiles.mem_id = members.mem_id AND interests LIKE '%$chiave%' or books LIKE '%$chiave%'
or about LIKE '%$chiave%' or skills LIKE '%$chiave%' or p_positions LIKE '%$chiave%'");
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=\"http://www.weblow.net/friends/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);
?>
</b></p></blockquote>
</td></tr></table>
</body>
</html>
Grazie molte