Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    59

    intabellare dati e ordinamento

    Salve, sto realizzando un semplice programmino in php che gestisca i contatti di aziende e contatti di dipendenti di queste aziende, ho realizzato una visualizzazione di una tabella e intabellato in una pagina, ora però vorrei inserire nella stessa pagina dei risultati sia un menu a tendina sotto che visualizza quanti elementi visualizzare per pagina e inoltre volevo che se si clicca su una colonna i dati vengano ordinati per quella colonna e se nel caso ci si riclicca vengano ordinati ascendentemente, un pò come fà windows con explorer quando si visualizzano i file in modalità dettagli, solo che non sò che metodo usare, i miei quesiti sono:

    se inserisco un menu a tendina come faccio a far aggiornare la pagina quando uno seleziona esempio 30 risultati per pagina e quindi a visualizzarli?

    come faccio a rendere cliccabile il titolo di ogni colonna in modo che se viene cliccato i dati vengano ordinati per quella colonna?

    come si passano i dati alla stessa pagina per permettere di riaggiornare la visualizzazione con la stessa pagina?

    sto impazzendo a pensare come fare ma non ne vengo a capo, non riesco ancora a pensare un metodo comune che viene utilizzato in php per fare queste cose.

    premetto che ho un db in mysql e ho un file chiamato "functions.php" dove all'interno sono contenute alcune funzioni per il db che ho realizzato, il mio dubbio è solo come poter riaggiornare la pagina con le nuove richieste...
    fin'ora ho avuto a che fare solo con i form e non sò come potrei fare questa cosa

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419

    Re: intabellare dati e ordinamento

    Originariamente inviato da Exc3ss
    se inserisco un menu a tendina come faccio a far aggiornare la pagina quando uno seleziona esempio 30 risultati per pagina e quindi a visualizzarli?
    sui link del menù, fai un href alla pagina stessa, e passi la variabile 'risultati', il cui valore è 30.
    poi, nella query che usi per visualizzare i dati, adoperi la variabile 'risultati'

    come faccio a rendere cliccabile il titolo di ogni colonna in modo che se viene cliccato i dati vengano ordinati per quella colonna?
    esempio: colonna NOME. Dove scrivi il titolo, usi una struttura link, ad esempio NOME. Nella query che visualizza i dati, scriverai: ... ORDER BY ".$_GET[nome];

    come si passano i dati alla stessa pagina per permettere di riaggiornare la visualizzazione con la stessa pagina?
    se usi un form, scrivi action='nomepagina.php' dove nomepagina.php è il nome della pagina corrente, ovvero quella dove stai lavorando. Per quanto riguarda le variabili GET e POST, non penso che tu abbia problemi per la loro gestione. comunque ci sono molte guide in merito.

    sto impazzendo a pensare come fare ma non ne vengo a capo, non riesco ancora a pensare un metodo comune che viene utilizzato in php per fare queste cose.
    In generale ti consiglio di analizzare un problema alla volta, in modo da non mettere troppa carne al fuoco. Hai fatto una buona analisi dei vari aspetti che devi realizzare; adesso parti dal primo, e cerca di completare i vari punti, uno alla volta.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    59
    Dunque ho risolto l'ordinamento, ora però mi manca la parte di visualizzazione dati separati per pagina e per quantità di risultati, ho inserito un menu a tendina dove scegliere la quantità di dati da visualizzare, però quello che non riesco a capire è se io ho per esempio 10 risultati per pagina, come faccio a sapere quanti elementi totali sono della mia query sql?

  4. #4
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    la funzione mysql_num_rows restituisce il numero di righe trovate nella query

    Esempio:
    Codice PHP:
    $query ="SELECT user FROM nometabella";
    $sql=mysql_query($query) or die(@mysql_error());
    $num_record mysql_num_rows($sql); 


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

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.