Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1

    leggere un valore all'interno del db

    Ciao ragazzi, devo prelevare dei valori che si trovano all'interno della tabella prezzo nel db piano. io ho scritto questo:

    <?php
    require_once 'convalida.php';//richiama la connessione al db

    $query="SELECT prezzo FROM piano";
    $risultati=mysql_query($query,$connessione) or die(mysql_error());
    $prova=mysql_fetch_row($risultati);
    echo $prova[0];
    echo $prova[1];
    ?>

    Perchè mi stampo soltanto il primo valore e il secondo no?cosa sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Perchè le funzioni mysql_fetch_**** ti estraggono una riga della tabella prodotta dalla query, facendo avanzare il puntatore interno alla tabella per la lettura della riga successiva. Qualora la funzione venga richiamata dopo l'ultima riga ritorna false.

    Ecco quindi che tali funzioni trovano applicazione all'interno di cicli (while tipicamente con ripetizione su vero e uscita su falso)

    Codice PHP:
    while($riga=$mysql_fetch_row($resultati))
        echo 
    $prova[0]; 
    In particolare mysql_fetch_row ti ritorna un array con indice numerico in cui ad ogni posizione corrisponde una colonna della tabella prodotta dall'ultima query. Dato che la tua query estrae una sola colonna, avrai solo $prova[0]. $prova[1] non è definito ed il suo uso è errato.

    Infine prezzo non è la tabella ma un nome di colonna o di campo, mentre piano è il nome della tabella che interroghi. Il nome del DB non ci è dato di saperlo perchè lo hai di certo specificato nel file in cui richiami la connessione al DB.
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    ok...però scrivendo questo:

    $query="SELECT prezzo FROM piano";
    $risultati=mysql_query($query,$connessione) or die(mysql_error());

    while($prova=mysql_fetch_array($risultati)){
    echo $prova[0];
    }

    mi stampa tutti i valori della colonna prezzo uno dopo l'altro. io voglio prendere un valore alla volta. come faccio?

  4. #4
    All'interno del ciclo while hai di volta in volta il valore da utilizzare.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    non capisco

  6. #6
    Se non capisci questa cosa che e' a livello lezione numero 1 di programmazione di qualsiasi linguaggio, e' meglio se smetti di scrivere codice e cominci a leggere qualche manuale.

  7. #7
    ovvio che so come funziona il ciclo while...cmq grazie per la tua risposta...

  8. #8
    E quindi qual e' il problema?

  9. #9
    Magari se spieghi esattamente cosa devi fare...
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    ripeovo a spiegare:
    ho una tabella piano con la colonna prezzo.
    io ho bisogno di estrarre i valori della colonne e memorizzarli in variabili diverse.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.