Ciao ragazzi,
ho un problema piuttosto strano, molto semplicemente volevo fare un form php attraverso cui è possibile ricercare un nome di un oggetto inserito in un db con l'operatore LIKE.
Il problema è che, non so per quale ragione, non compare il primo record inserito ma tutto il resto compare correttamente, di seguito la struttura della tabella, il form html e il file PHP
TABELLA
dato_nome |
codice |
dato_quantita |
sample_data1 |
0001 |
5 |
sample_data2 |
0002 |
6 |
codice HTML:
<form method="post" action="ricerca_per_nome.php">
<input type="text" name="valore_ricerca" />Inserisci il nome dell'oggetto<br />
<input type="submit" value="Ricerca oggetto" />
</form>
ricerca_per_nome.php
Codice PHP:
<?php
$host="sample_host";
$user="sample_user";
$password="sample_password";
$database="mydatabase";
$db=mysql_connect($host,$user,$password) or die("Impossibile collegarsi al server");
@mysql_select_db("$database") or die("Impossibile connettersi al database");
$input=$_POST['valore_ricerca'];
$query_nome="SELECT * FROM tabella WHERE dato_nome LIKE '$input%' AND dato_quantita>0 ORDER BY codice";
$risposta = mysql_query($query_nome) or die ("Utilizza termini più specifici!");
$dentro_la_query= mysql_fetch_assoc($risposta);
if ( $dentro_la_query == TRUE ){
while($row=mysql_fetch_assoc($risposta)){
$nome = $row['dato_nome'];
$codice = $row['codice'];
$quantita =$row['dato_quantita'];
echo "<table><tr><td> $nome </td><td>$codice</td><td>$quantita</td></tr></table>"; }
}
else {
echo("Non hai trovato un oggetto con questo nome");
}
?>
Ho provato ad eseguire la query di SELECT nel pannello di controllo di MySQL e visualizza tutte le query che, per esempio, iniziano con s (ossia sample_data1 e sample_data2), quindi non ci sono problemi da quel punto di vista.