- Home
- Categorie
- Coding e Sistemistica
- Coding
- Record database
- 
							
							
							
							
							Record databaseCome si estrae un solo record da un database? 
 Con questo codice riesco a estrarli tutti, io vorrei estrarne uno solo e non a caso.[php] 
 <?php
 $query=mysql_query("SELECT * FROM utenti", $conn );
 $quanti = mysql_num_rows($query);
 if ($quanti == 0)
 {
 echo "Nessun record!";
 }
 else
 {
 for($x=0; $x<$quanti; $x++)
 {
 $rs = mysql_fetch_array($query);
 $id = $rs[0];
 $email = $rs[1];
 $pwd = $rs[2];
 echo "ID: " . $id . " email: " . $email . " password: " . $pwd . "<br><br>";} }?> 
 [/php]Ciao!  
 
- 
							
							
							
							
							
Ciao, 
 innanzitutto se vuoi estrarre un solo dato dal database poni qualche condizione in più.
 Ad esempio, se vuoi estrarre un dato con determinate caratteristiche (esempio: un utente con indirizzo email = "[email protected]" ) allora avrai qualcosa del genere:
 [PHP]
 $query = "SELECT * FROM nome_tabella WHERE email='[email protected]'";
 $result = mysql_query($query, $conn);
 if($row = mysql_fetch_array($result))
 {
 // stampi valori con
 echo 'Username : ' .$row['username']. '<br>';
 }
 else
 {
 echo 'nessun valore trovato';
 }
 [/PHP]E' solo un esempio. Bisognerebbe sapere cosa intendi per estrarre un solo dato. 
 Se è un dato preciso o un dato a caso.
 Spero possa esserti utile.
 
- 
							
							
							
							
							OK! 
 Io vorrei estrarre un utente ben preciso, esempio: ( pippo), e di pippo devo stanpare a video tutti i suoi dati, tipo id, nome, cognome, e-mail....
 L'esempio sopra puo' essere utile, io con un dato ben preciso di un utente tipo: (e-mail), estrarre solo la sua password, oppure estrarre tutti i suoi dati, ma sempre e solo di un utente.
 Spero si capisca cosa voglio fare!.
 Adesso provo il codice da te postato.Ciao e grazie mille!!!!   
 
- 
							
							
							
							
							
Ciao, 
 nella condizione "WHERE" puoi mettere quante specifiche ti pare.
 Ammettiamo che hai un utente con nome, cognome, email, citta
 e vuoi estrarre l'utente con nome="pippo" e cognome="pippi" , avrai qualcosa del genere:
 [PHP]
 $query = "SELECT * FROM tabella_utenti WHERE campo_nome='pippo' AND campo_cognome='pippi'";
 [/PHP]
 oppure puoi usare OR al posto di AND se vuoi estrarre l'utente con nome = "pippo" o cognome="pippi".il mio esempio dovrebbe funzionare. 
 Rivedi però un attimo l'utilizzo di mysql_fetch_array() e mysql_num_rows.Per stampare a video tutto quanto scriverai invece qualcosa del genere (sempre in merito all'esempio da me fatto): 
 [PHP]
 ..................
 .................
 echo "Nome: " .$row['campo_nome']. "<br>";
 echo "Cognome: " .$row['campo_cognome']. "<br>"
 echo "Citta: " .$row['campo_citta']. "<br>"
 ecc..eccc
 [/PHP].Fammi sapere!  
 
- 
							
							
							
							
							Il tuo primo esempio è servito e funziona. 
 Posto il codice di cosa ho fatto.FORM INSERIMENTO E-MAIL [html] 
 <form id="form1" name="form1" method="post" action="prova_database3.php">
 e-mail:
 <input type="text" name="email" id="textfield" />
 <input type="submit" name="button" id="button" value="Invia" />
 </form></center>
 [/html]PAGINA RECUPERO DATI [php] 
 <?php
 $email = $_POST['email'];
 $query = "SELECT * FROM utenti WHERE email='$email'";
 $result = mysql_query($query, $conn);
 if($row = mysql_fetch_array($result))
 {
 // stampi valori con
 echo 'id : ' .$row['ID']. '<br>';
 echo 'email : ' .$row['email']. '<br>';
 echo 'Password : ' .$row['password']. '<br>';} 
 else
 {
 echo 'nessun valore trovato';
 }
 ?>[/php] Ho recuperato solo tre dati, volendo si poteva recuperare solo un dato. 
 
- 
							
							
							
							
							Non capisco il (rivedere mysql_fetch_array() e mysql_num_rows.). Grazie ancora.  
 
- 
							
							
							
							
							Intendeva che non è necessario fare un ciclo for, poichè è possibile utilizzare direttamente mysql_fetch_array in un ciclo while. 
 
- 
							
							
							
							
							Va bene, capito. 
 GRAZIE.