- Home
- Categorie
- Coding e Sistemistica
- PHP
- Record database
-
Record database
Come 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.