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

    Paginazione (avanti e dietro) calendario

    Buongiorno a tutti,
    vorrei creare una paginazione su un calendario che ho creato.
    In prtatica mediante un ciclo while visualizzo la data odierna ed i 7 giorni successivi.

    Vorrei inserire due link che mi cambino questi intervalli.
    Come faccio???
    La cosa che mi viene in mente e quella di cambiare con il link( se cliccato) il valore della variabile $data. Ma non ho idea di come fare.

    Codice PHP:
    $data date ('d-m-Y'strtotime($data.' -1 days'));
    $intervallo date ('d-m-Y'strtotime($data.' +8 days'));

    $arr_set=array("Dom","Lun","Mar","Mer","Gio","Ven","Sab");
    $arr_mesi=array("Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic");

    while (
    $data $intervallo)
    {                        
    $data date ('d-m-Y'strtotime($data.' +1 days'));                 
    $settimana $arr_set[date("w"strtotime($data))];
    $giorno date("j"strtotime($data));
    $mese $arr_mesi[date("n"strtotime($data))-1];

    echo 
    $mese;
    echo 
    $giorno;
    echo 
    $settimana;

    Grazie per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    i tuoi link "avanti" e "indietro" saranno del tipo
    calendario.php?indietro=-1
    calendario.php?avanti= 8
    esegui una query string per leggere le due variabili

    (puoi inserire anche solo un "id" e verificare il suo valore...il mio è un esempio)

    modifichi le righe:
    $data = date ('d-m-Y', strtotime($data.' -1 days'));
    $intervallo = date ('d-m-Y', strtotime($data.' +8 days'));

    parametrizzandole con
    $data = date ('d-m-Y', strtotime($data. $indietro. days));
    $intervallo = date ('d-m-Y', strtotime($data. $avanti. days));

  3. #3
    Scusa ma è possibile fare una query string nella stessa pagina? Scusa la domanda ma non mi è mai capitato di usare una procedura del genere.

    calendario.php?indietro=-1
    calendario.php?avanti= 8

    dovrebbe essere così :

    $indietro = $_GET['indietro'];
    $avanti = $_GET['avanti'];

    $data = date ('d-m-Y', strtotime($data. $indietro. days));
    $intervallo = date ('d-m-Y', strtotime($data. $avanti. days));

    Viene fuori la pagina bianca e se premi su avanti comincia da gennaio!

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, ma cosa passi al form come action quando premi "avanti"?

  5. #5
    Non uso un form.
    IO ho un calendario creato dinamicamente prendendo la data corrente aggiungo sette giorni e visualizzo il calendario come : << | Ma 20 settembre | Me 21 Settembre | ... | >>

    vorrei che le frecce avanti e indietro mi cambino l'intervallo di tempo.
    Siamo sempre nella stessa pagina prenota.php

  6. #6
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Scusami mi sono espresso male...adesso ho capito il tuo problema, puoi risolvere nel seguente modo...quando clicchi su avanti il tuo $intervallo diventa il tuo punto di partenza quindi con un href del tipo "calendario.php?partenza=$intervallo" e quindi il codice diverebbe
    Codice PHP:
    .....
    $data date ('d-m-Y'strtotime($_GET["partenza"]));
    $intervallo date ('d-m-Y'strtotime($data.' +8 days')); 
    .... 

  7. #7
    Ma nella stessa pagina come si fa a fare :

    esegui una query string per leggere le due variabili ???

  8. #8
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    certo che si può fare..provaci
    è come ricaricare il calendario di un'altra settimana,mese, ecc

  9. #9
    Ho provato ma non funziona.

    Questo è il mio codice :

    Indietro
    Avanti
    Codice PHP:

    $indietro 
    $_GET['indietro'];
    $avanti $_GET['avanti'];

    //Se faccio echo $indietro; o echo $avanti; non mi da nessun valore

    $data date ('d-m-Y'strtotime($data$indietrodays));
    $intervallo date ('d-m-Y'strtotime($data$avantidays)); 

    $arr_set=array("Dom","Lun","Mar","Mer","Gio","Ven","Sab"); 
    $arr_mesi=array("Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"); 

    while (
    $data $intervallo
    {                         
    $data date ('d-m-Y'strtotime($data.' +1 days'));                  
    $settimana $arr_set[date("w"strtotime($data))]; 
    $giorno date("j"strtotime($data)); 
    $mese $arr_mesi[date("n"strtotime($data))-1]; 

    echo 
    $mese
    echo 
    $giorno
    echo 
    $settimana


  10. #10
    Ah se invece stampo $data mi da 1-1-1970 quindi è come se fosse zero.

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.