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

    lettura inversa di mysql_fetch_array

    Ciao a tutti
    ho un problemino con la visualizzazione in ordine inverso di un array generato da 'mysql_fetch_array'.
    Io creo la variabile
    codice:
    $leggi=mysql_query("SELECT * FROM student WHERE utente = '".$nomeutente."'");
    poi popolo una tabella con:

    codice:
    <table width="75%" border="1">
    <?php
      while($tempbox=mysql_fetch_array($leggi)){ 
         $id=$tempbox['id']; 
         $titolo=$tempbox['nomebiblio']; 
         $tipo=$tempbox['tipo']; 
         $autore=$tempbox['utente']; 
              echo "          
              <tr>
                    //inserisco i dati nelle celle.....
              </tr>
               "; 
      } 
      ?> 
      </table>
    fino qui tutto bene! Il sistema pubblica correttamente tutti i valori associati all'utente passato nella variabile '$nomeutente' esattamente come li voglio io.

    Io vorrei però pubblicarli in modo che l'ultimo della lista compaia per primo e viceversa.
    Ho provato con
    codice:
      $tempbox=mysql_fetch_array($leggi);
    $array = array_reverse($tempbox);
    calcolo la lunghezza dell'array
    codice:
      $lungh_array = count($array);
    ho provato quindi ad eseguire un ciclo for
    codice:
    for ($contatore=0; $contatore < $lungh_array; $contatore++) {
      ????????
    }
    ma non so come popolare correttamente la tabella
    se qualcuno ha anche qualche altra dritta (diversa dal ciclo for) va benissimoooooo
    grazie in anticipo
    RM

  2. #2
    non ho capito cosa vuoi fare.
    la query indicata estrae una sola riga.
    Ciao!

  3. #3
    non ho trascritto l'intero codice per non appesantire il post.
    La query funziona correttamente se io lascio il ciclo WHILE
    i dati vengono correttamente riportati in tabella tipo

    ID | TITOLO | TIPO | AUTORE
    1 | TIT1 | TIPO1 | AUTORE1
    2 | TIT2 | TIPO2 | AUTORE2
    3 | TIT3 | TIPO3 | AUTORE3

    io devo invece ottenere una visualizzazione della tabella come segue :

    ID | TITOLO | TIPO | AUTORE
    3 | TIT3 | TIPO3 | AUTORE3
    2 | TIT2 | TIPO2 | AUTORE2
    1 | TIT1 | TIPO1 | AUTORE1

    in pratica leggendo le righe dell'array al contrario, dall'ultima alla prima

  4. #4
    usare order by di mysql è impossibile?
    Ciao!

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    Codice PHP:
    $leggi=mysql_query("SELECT * FROM student WHERE utente = '".$nomeutente."' ORDER BY id DESC"); 
    ORDER BY id DESC = ordina in base al l'id, dal piu grosso a più piccolo

  7. #7
    Purtroppo no. A me serve che i record vengano visualizzati all'utente in base all'ordine cronologico di inserimento, ovvero l'ultimo inserito deve comparire in cima alla lista.
    Temo che allora dovrò utilizzare il TIMESTAMP se non vi è altro modo, e procedere all'ordinamento in base all'orario. Però diventa un piccolo casino da gestire.... o ORDER BY DESC effettua ordinamento anche su TIMESTAMP? in ogni caso preferirei fare diversamente (se possibile)
    grazie
    RM

  8. #8
    ORDER BY id DESC

    Ciao!

  9. #9

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    quello che ho scritto io

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.