- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ricerca like
-
Ricerca like
Cao a tutti.
Avrei fatto un form per la ricerca like e una pagina dove visualizzare i dati,
pero' non funziona ....
Mi sapete aiutare
Questo e' un estratto.
[php]
<?phpmysql_select_db($database_cnx, $cnx);
$query_dati = "SELECT * FROM listino";
$dati = mysql_query($query_dati, $cnx) or die(mysql_error());
$row_dati = mysql_fetch_assoc($dati);
$totalRows_dati = mysql_num_rows($dati);
$cerca=$row_dati['nome'];
?><form id="cerca_form" name="cerca_form" method="post" action="liste/index.php?cerca=<?php echo $cerca; ?>">
<table width="500" border="0" align="center" class="tabella">
<tr>
<td> </td>
</tr>
<tr>
<td align="center"><label>
<select name="cerca" onchange="this.form.submit()" id="cerca">
<option selected="selected">--Seleziona saldatrice--</option>
<option value="UNO">UNO</option>
<option value="DUE">DUE</option>
</select>
</label></td>
</tr>
<tr>
<td align="center"> </td>
</tr>
</table>
</form>[/php]
La ricerca[php]$cerca=$_POST['cerca'];
$sql = 'SELECT * FROM listino WHERE nome LIKE "$cerca" ORDER BY id';
$res = $db->query($sql);
$result[] = '<ol>';
while ($f = $res->fetch())
{
$result[] = '<li>"'.$f['nome']. '"by '.$f['marca']. ': €'.$f['prezzo'].'<br>
<a href="carrello.php?action=aggiungi&id='.$f['id'].'">Aggiungi al carrello.</a></li>';
}
$result[] = '</ol>';
echo @join('',$result);[/php]
Grazie mille.
-
Prova con...
[PHP]
LIKE "%$cerca%"
[/PHP]
-
Ciao
Ho provato come mi hai detto ma non mi compare a video niente.
Penso che sia $result[] la causa ,ma non so come modificare a doc, lo script per la visualizzazione
-
Prova così :
[php]$cerca=$_POST['cerca'];
$sql = 'SELECT * FROM listino WHERE nome LIKE "%$cerca%" ORDER BY id';
$res = $db->query($sql);
$result = Array();
$result[] = '<ol>';
while ($f = $res->fetch())
{
$result[] = '<li>"'.$f['nome']. '"by '.$f['marca']. ': €'.$f['prezzo'].'<br>
<a href="carrello.php?action=aggiungi&id='.$f['id'].'">Aggiungi al carrello.</a></li>';
}
$result[] = '</ol>';
foreach($result as $linea){
echo $linea;
}[/php]
-
Nulla da fare.
Ho provato a vedere di mettere un cho $cerca;
per vedere se mi passa la ricerca.
La ricerca la passa correttamente, pero' non stampa i record trovati.
Hai creato una variabile $linea,ma a cosa servirebbe?
Se io tolgo WHERE nome LIKE "%$cerca%"
mi mostra tutti i record nel database.
grazie .Ciao
-
Forse ....
[php]$cerca=$_POST['cerca'];
$sql = 'SELECT * FROM listino WHERE nome LIKE "%$cerca%" ORDER BY id';
$res = mysql_query($sql);
$result = Array();
$result[] = '<ol>';
while ($f = mysql_fetch_array($res))
{
$result[] = '<li>"'.$f['nome']. '"by '.$f['marca']. ': €'.$f['prezzo'].'<br>
<a href="carrello.php?action=aggiungi&id='.$f['id'].'">Aggiungi al carrello.</a></li>';
}
$result[] = '</ol>';
foreach($result as $linea){
echo $linea;
} [/php]
-
Grazie mille.
Ho risolto mettendo la tua modifica con modificato:
$sql = "SELECT * FROM listino WHERE nome LIKE '%$cerca%' ORDER BY id";