Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come stampare il risultato di un select

    Mi hanno detto che per stampare in una pagina html il risultato di un select è necessario usare il comando fetch.. potreste dirmi qualcosa di più specifico? vi copio il codice dela pagina php e magari potreste farmi un esempio utilizzando i nomi delle mie variabili.. grazie mille!!!!!! :


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <html>
    <head>
    <title>testi.php</title>
    </head>

    <body>

    <?php
    $Host="localhost";
    $User="root";
    $Password="root";
    $nomeDB="canzone";
    $TableName="testi_canzoni";
    $nomecolonna="titolo";

    $testo= $_POST["testo"];

    //Controllo dei campi: con isset() verifichiamo se i campi più importanti sono stati riempiti
    if(isset($testo)!=$testo){
    echo"Inserire il titolo della canzone;\n";
    exit;
    }

    //connessione al DB
    $link=mysql_connect ( $Host, $User, $Password)or die('Connessione fallita: ' . mysql_error());


    //Se la connesione riesce si seleziona il DB e si memorizzano i dati nella tabella
    //selezione tabella
    $DB=mysql_select_db($nomeDB)or die('Selezione DB fallita: ' . mysql_error());

    $Query =" SELECT testo
    from testi_canzoni
    where titolo='$testo'";

    //Comando per eseguire la query
    $res=mysql_query($Query)or die( "Errore: " . mysql_error() );

    $data="mysql_fetch_abject($res)";
    print($data);

    //Chiusura connessione
    mysql_close ($link);



    ?>

    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Tu qui hai usato $data="mysql_fetch_object($res)"; (occhio che hai scritto abject )

    Io uso sempre mysql_fetch_array() ma la differenza solo nell'output.

    Diciamo che mysql_fetch_object restituisce un oggetto e non un array, di conseguenza per arrivare ai valori registrati nell'oggetto devi usare il nome dei campi e non gli indici dell'array.
    Ottenere un array lo trovo molto piu' comodo perchè ti permette di effettuare cicli e check numerici sugli indici.

    Cmq ecco il metodo per estrarre e stampare i risultati della query in entrambi i modi:

    MYSQL_FETCH_OBJECT:
    Codice PHP:
    $risultato mysql_query("select * from tabella");
    while (
    $riga mysql_fetch_object($risultato)) {
       echo 
    $riga->campo1;
       echo 
    $riga->campo2;
       
    //etc...

    MYSQL_FETCH_ARRAY:
    Codice PHP:
    $risultato mysql_query("select * from tabella");
    while (
    $riga mysql_fetch_array($risultato)) {
       echo 
    $riga['campo1'];
       echo 
    $riga['campo2'];
       
    //etc...

    oppure

    Codice PHP:
    $risultato mysql_query("select * from tabella");
    $j=0;
    while (
    $riga[$j] = mysql_fetch_array($risultato)) {
       echo 
    $riga[$j]['campo1'];
       echo 
    $riga[$j]['campo2'];
       
    //etc...
       
    $j++;

    Buone query^^

  3. #3
    ottima spiegazoine!

    se posso vorrei fare solo un piccolissimo appunto

    anzichè salvare l'array sia con indici numerici che associativi (cosa che di default fa mysql_fetch_array) visto che devi accedervi solo tramite il nome del campo, io userei mysql_fetch_assoc che salva l'array solo con chiavi associative ed utilizza, di conseguenza, meno risorse.

    puoi usare oppure anche mysql_fetch_row, se invece dei nomi vuoi usare indici numerici.
    praticamente, mysql_fetch_array è la somma di queste due funzioni.









    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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 © 2024 vBulletin Solutions, Inc. All rights reserved.