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

    data in base al gg settimana per filtro query

    ciao a tutti, ho un momento di panico..!mi serve prendere il primo sabato, la prima domenica e il primo lunedì, di ogni anno, del mese di agosto, x fare una query ed estrarre dei risultati. se si trattasse di giorni..no prob, ma visto ke devo basarmi sui gg della settimana..nn so cm fare!
    qlc sa darmi un suggerimento?

  2. #2
    mmmmm, inventati qualcosa con la funzione date giocando sui parametri che gli passi e gestendo il risultato.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Allora. Io sono arrivato a questo punto. Ho fatto un pò di prove ma c'è un problema. Riesco a trovare il primo sabato, la prima domenica e il primo lunedì del mese ma trovati questi non si ferma e se ci sono mostra anche i successivi.
    Ad esempio mettendo 10 (quindi ottobre nel mktime) mi restituisce:
    La prima domenica è: 1
    Il primo lunedì è: 2
    Il primo sabato è: 7
    La prima domenica è: 8
    Il primo lunedì è: 9

    Dove sbaglio? :master:


    Codice PHP:
    for ($i=1$i<=10$i++)
    {
    $timestamp mktime(0,0,0,10,$i,2006); 
    $date getdate ($timestamp); 
    $dayofweek $date['wday']; 

        switch(
    $dayofweek)
        {
            case 
    "6":
            {
            
    $primoSabato $i;
            echo 
    "Il primo sabato è: $primoSabato 
     "
    ;
            break;
            }

            case 
    "0":
            {
            
    $primaDomenica $i;
            echo 
    "La prima domenica è: $primaDomenica 
     "
    ;
            break;
            }
        
            case 
    "1":
            {
            
    $primoLunedi $i;
            echo 
    "Il primo lunedì è: $primoLunedi 
     "
    ;
            break;
            }
        }


  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Essendoci break alla fine di ogni case non dovrebbe limitarsi al primo risultato che trova?

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ho trovato questa soluzione al problema: un contatore inizializzato a zero che quando arriva a 3 (cioè trova i primi 3 giorni richiesti esce. Non esiste un altro modo per farlo uscire dopo che ciascuna condizione si è verificata?
    Codice PHP:
    <?php
    $trovato 
    0;
    for (
    $i=1$i<=10$i++)
    {
    if (
    $trovato 3)
        {
        
    $timestamp mktime(0,0,0,5,$i,2006); 
        
    $date getdate ($timestamp); 
        
    $dayofweek $date['wday']; 

        switch(
    $dayofweek)
        {
            case 
    "6":
            {
            
    $primoSabato $i;
            echo 
    "Il primo sabato è: $primoSabato 
     "
    ;
            
    $trovato $trovato 1;
            break;
            }

            case 
    "0":
            {
            
    $primaDomenica $i;
            echo 
    "La prima domenica è: $primaDomenica 
     "
    ;
            
    $trovato $trovato 1;
            break;
            }
        
            case 
    "1":
            {
            
    $primoLunedi $i;
            echo 
    "Il primo lunedì è: $primoLunedi 
     "
    ;
            
    $trovato $trovato 1;
            break;
            }
        }
        }
    }
    ?>

  6. #6
    Originariamente inviato da nicola75ss
    Essendoci break alla fine di ogni case non dovrebbe limitarsi al primo risultato che trova?
    PENSO, ma nn sn sicuro, x'manca il default dello switch..ma ripeto..penso!
    cmq bel modo, ti ringrazio x l'aiuto! quanto ci sei stato sopra??!

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mah,neanche tanto.
    Cmq aggiungendo la variabile $trovato lo script funziona come dovrebbe.

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.