• User

    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! :ciauz:


  • User Attivo

    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.


  • User

    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!!!! :ciauz::ciauz:


  • User Attivo

    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! 🙂


  • User

    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.


  • User

    Non capisco il (rivedere mysql_fetch_array() e mysql_num_rows.).

    Grazie ancora. :ciauz:


  • ModSenior

    Intendeva che non è necessario fare un ciclo for, poichè è possibile utilizzare direttamente mysql_fetch_array in un ciclo while.


  • User

    Va bene, capito.
    GRAZIE.