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

    Possibilità di ordinare risultati query

    Ciao, scusate ma sono alle prime armi.
    Ho una pagina PHP che esegue una query su un DB di Mysql ed estrae i dati in modo corretto:
    Codice PHP:
    select from user order by name 
    ordinando i dati per il campo "name".
    Io vorrei dare la possibilità agli utenti di ordinare i dati per altri tipi di campi dalla pagina stessa del risultato (inserendo dei link per sempio "Ordina per Nazione", "Ordina per età", ecc....).
    Secondo voi sarebbe giusta la logica di inserire questi link in un form del tipo
    Codice PHP:
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
        <select name="ordine">
          <option value="nazione">nazione</option>
          <option value="et&agrave;">et&agrave;</option>
        </select>
        <input name="Cerca" type ="submit" value="Country" >
      </form>
    in modo da ricaricare la pagina stessa passando però il parametro contenuto nella select?
    Oppure esiste un metodo migliore?
    Grazie 1000!

  2. #2
    può andare bene, ricorda però che la query dovrà diventare dinamica, nel tuo caso:
    Codice PHP:
    $query 'SELECT * FROM user ORDER BY ' $_GET['ordine']; 
    attenta però che così come l'ho scritto è una formula che può dare dei problemi di sicurezza, è solo per farti capire l'approccio. Dovresti passare ogni parametro che arriva in modo da essere sicura che sia il dato giusto e non una sequenza studiata per dare problemi al tuo script.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Eviterei inoltre di usare campi con lettere accentate tipo età.

  4. #4
    Grazie per l'aiuto.
    Ho modificato la query come suggerito in
    Codice PHP:
    $query="select * from user order by" $_GET['odine']; 
    ma mi ritorna un errore da IE

    Query fallita: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    Dove nella linea 1 faccio un'inclusione ad un file di configurazione.

    Codice PHP:
    <?php require_once("../include/config.inc"); ?>
    Vi dice qualcosa?

  5. #5
    Originariamente inviato da Elisa_73
    Grazie per l'aiuto.
    Ho modificato la query come suggerito in
    Codice PHP:
    $query="select * from user order by" $_GET['odine']; 
    ma mi ritorna un errore da IE
    guarda bene che dopo BY devi mettere uno spazio, sennò la query risulta
    "select * from user order bynazione" e il povero mysql non capisce...
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  6. #6
    Che sbadata...
    Però l'errore non è scomparso.
    Non capisco dove sto sbagliando...

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    A meno che non abbia sbagliato scrivendo nel forum la select si chiama ordine, non odine.

  8. #8
    Mi vergogno.....

    Grazie 1000!

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Elisa_73
    Mi vergogno.....

    Grazie 1000!
    Se hai un campo chiamato età rinominalo in eta o in qualsiasi altro modo. Se provassi a eseguire la query da riga di comando vedresti che con l'accento non funziona.

  10. #10
    Non vergognarti troppo, io oggi con un documento ci ho impiegato 10 minuti buoni a capire che un foglio A4, impostato con 2cm di bordo per lato, non ha un'area utile rimanente di 19cm ma di 17!

    Edit.
    Azz.. ora lo sa anche Nicola... posso dire addio anche a quella poca credibilità che speravo di avere...
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

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.