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

    Visualizzazione dati tabella MySQL in base a variabile GET

    Buona sera,
    Purtroppo sono costretto a chiedere il vostro aiuto visto che da solo non sono riuscito a risolvere un problemino.
    Ho la necessit� di visualizzare il campo "domanda" di una tabella MySQL, in base ad un numero che viene impostato in una variabile GET.
    Questo perch� voglio visualizzare una domanda per volta, che cambia dopo aver cliccato su un pulsante "Avanti", che aggiorna la variabile GET.
    Ho scritto il codice seguente, che per� non funziona come dovrebbe, infatti non parte dalla riga '0' per come dovrebbe, ma parte da '1'.
    Inoltre non va normalmente avanti, quindi 1, 2, 3, ... ma salta ogni volta una riga (1,3,5,7...).
    Sapreste spiegarmi il motivo?
    Grazie
    Codice PHP:
        $sql "SELECT * FROM domande";
        
    $result $conn->query($sql);
        
            
    $var 0;
            
    //$row = mysqli_fetch_array($result, MYSQLI_BOTH);
            
    while ($row mysqli_fetch_assoc($result)){
                
    $domande_arrayA mysqli_fetch_array($result);
                
    $domande_arrayB[$var] = $domande_arrayA[3];
                
    $var++;
                
            }
            echo 
    $domande_arrayB[$q]; 

  2. #2
    Ti va avanti di due alla volta perché la riga che ho //commentato produce un ulteriore "colpo" di fetch e il puntatore virtuale scorre una riga sotto ancora, prima del while successivo.
    Popola l' array con push di volta in volta; dopo averlo inizializzato con $domande_arrayA = array();
    codice:
                $var = 0;
                $domande_arrayA = array();
            while ($row = mysqli_fetch_assoc($result)){
                //$domande_arrayA = mysqli_fetch_array($result);
                array_push($domande_arrayA, $row);
    Direi dobbiamo costruire un array bidimensionale però: array_push($domande_arrayA[$var], $row);

    Cos'è $q ?

    Ora comunque ho sonno, non ho idea di tutto l' insieme tuo: non vorrei stravolgere troppo la tua impostazione.

  3. #3
    Quote Originariamente inviata da Enzo SIMONELLI Visualizza il messaggio
    Ti va avanti di due alla volta perché la riga che ho //commentato produce un ulteriore "colpo" di fetch e il puntatore virtuale scorre una riga sotto ancora, prima del while successivo.
    Popola l' array con push di volta in volta; dopo averlo inizializzato con $domande_arrayA = array();
    codice:
                $var = 0;
                $domande_arrayA = array();
            while ($row = mysqli_fetch_assoc($result)){
                //$domande_arrayA = mysqli_fetch_array($result);
                array_push($domande_arrayA, $row);
    Direi dobbiamo costruire un array bidimensionale però: array_push($domande_arrayA[$var], $row);

    Cos'è $q ?

    Ora comunque ho sonno, non ho idea di tutto l' insieme tuo: non vorrei stravolgere troppo la tua impostazione.
    Buona sera Enzo, grazie mille per la risposta.
    $q è la variabile GET di cui parlavo, che mi permette di scegliere quale domanda voglio stampare.
    Oggi pomeriggio ho cercato di fare di tutto per ottenere il risultato che vorrei seguendo le tue istruzioni, ma purtroppo non ci sono riuscito...
    Domani riprovo

  4. #4
    Prova a togliere$var++; lasciando tutto come avevi fatto, se in linea di massima ti funzionava.

  5. #5
    Quote Originariamente inviata da Enzo SIMONELLI Visualizza il messaggio
    Prova a togliere$var++; lasciando tutto come avevi fatto, se in linea di massima ti funzionava.
    Purtroppo niente da fare... togliendo $var++ smette di funzionare.
    Quindi per non fargli produrre un colpo di fetch scorrendo il puntatore una riga più sotto cosa bisogna fare?
    Utilizzare un solo array?
    Grazie

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.