Ricerca e Stampo Risultati Db

  • Creatore Discussione Creatore Discussione OsMirko
  • Data di inizio Data di inizio

OsMirko

Nuovo Utente
Salve ragazzi sono nuovo di questo forum, sto creando un sito gestionale e sono arrivato al punto della "RICERCA" che non riesco a capire qual'è l'errore...Vi dico già a priore che non mastico da tanto il php....

Allora :

1* Ho un database con 1 tabella "amici" all'interno (ID,Nome,Cognome,Telefono)

2* Pagina md-ricerca.html -->

PHP:
<form method="post" action="cerca.php"> <p>RICERCA DATI</p> <p>Campo 1: <input type="text" name="nome" id="nome" /> Campo 2: <input type="text" name="cognome" id="cognome" /> Campo 3: <input type="text" name="telefono" id="telefono" /><input type="submit" value="Inserisci" /> </p> </form>

3* Pagina cerca.php --->

PHP:
<? /* dichiariamo alcune importanti variabili per collegarci al database */ $DBhost = "localhost"; $DBuser = "root"; $DBpass = ""; $DBName = "db_gecim"; /* specifichiamo il nome della nostra tabella */ $table = "amici"; /* Connettiamoci al database */ mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server"); @mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName"); /* impostiamo la query e cerchiamo il nome Mirko...*/ $sqlquery = "SELECT * FROM $table WHERE nome = 'Mirko'"; $result = mysql_query($sqlquery); $number =  mysql_num_rows($result); $i = 0; if ($number < 1) { print "<center><p>La ricerca non ha prodotto nessun risultato</p></center>"; } else { while ($number > $i) { $thename = mysql_result($result,$i,"nome"); $theemail = mysql_result($result,$i,"Cognome"); print "<p><b>Nome:</b> '$thename'<br><b>Cognome:</b> $theemail</p>"; $i++; } } ?>

Non riesco a capire come mai mi dice Sempre "La ricerca non ha prodotto nessun risultato" Quando nel db sono presenti i dati, se provo con ricerca manuale mi da i risultati...

Grazie in Anticipo a tutti !
 
ciao
benvenuto nel forum.
alcune cose
non usare lo short tag php è deprecato, usa <?php
togli il silent (@) altrimenti non vedi l'eventuale errore
perchè fai quell'ambaradan per estrarre i record?
metti dei var_dump (che poi toglierai) per vedere eventuali errori

PHP:
<?php
 /* dichiariamo alcune importanti variabili per collegarci al database */ 
 $DBhost = "localhost"; $DBuser = "root"; $DBpass = "";
 $DBName = "db_gecim"; 
 /* specifichiamo il nome della nostra tabella */ 
 $table = "amici"; 
 /* Connettiamoci al database */ 
 mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
 mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName"); 
 /* impostiamo la query e cerchiamo il nome Mirko...*/ 
 //verifica bene la corrispondenza esatta con i nomi dei campi (anche maiuscole/minuscole)
 //e che nel campo ci sia Mirko e non mirko
 $sqlquery = "SELECT * FROM $table WHERE nome = 'Mirko'";
 $result = mysql_query($sqlquery);
 var_dump($result);//se ti da bool(false) la query non è andata a buon fine, se ok deve dart resuorce...
 $number =  mysql_num_rows($result);
 var_dump($number);//se esistono record con le condizioni del WHERE deve darti un numero intero > 0
 if ($number < 1) { 
 	print "<center><p>La ricerca non ha prodotto nessun risultato</p></center>"; 
 } else { 
 	while ($riga=mysql_fetch_array($result)) {
		$thename = $riga['nome']; //verifica bene la corrispondenza esatta con i nomi dei campi (anche maiuscole/minuscole)
		$theemail = $riga['Cognome']; 
		print "<p><b>Nome:</b> '$thename'<br><b>Cognome:</b> $theemail</p>";
		//$i++; 
	} 
} 
?>
poi
indenta il codice
perche hai messo il form di invio se poi in cerca.php non usi le variabili inviate?
 
Anche i messaggi di errore di mysql sono comodi a volte


PHP:
if (!$result) {
    echo "Errore nella query : <br/>$sqlquery<br/>" . mysql_error();
}
 

Discussioni simili