Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    problema date - risalire al venerdì... !!

    ciao a tutti,

    problemino;

    ho una tabella mysql che si chiama weekend ed è fatta così:

    id_weekend | dal | al
    a1 | 2008/01/18 | 2008/01/20

    e via di seguito per l'eternità... :-)


    devo fare in modo che in base al giorno ne quale mi trovo, venga selezionato id_weekend prossimo.

    (il periodo è sempre compreso tra venerdì e domenica)

    (se sono in un venerdì, deve selezionare il venerdì dopo)

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,650
    prima usi:

    http://it.php.net/manual/it/function.mktime.php

    ottieni l'unix timestamp

    poi lo formatti vome vuoi con:

    http://it.php.net/manual/it/function.date.php
    codice:
     l ('L' piccola) - giorno della settimana, testuale, long; i.e. "Friday"

  3. #3
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    $checkDay = 5 - date("N");
    if($checkDay > 0 ) $addDay=$checkDay;
    else $addDay = 7 + $checkDay;

    SELECT
    `id`
    FROM
    `table`
    WHERE
    (`dal` = (date(NOW()) + INTERVAL ".$addDay." DAY ) )
    ...altri 5 anni di purga...

  4. #4
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    grazie 1000!

    nel primo pomeriggio provo e ti dico!

  5. #5
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    la funzione

    date("N");

    cosa restituisce? (se faccio il print... mi restituisce N!)

  6. #6
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Ho provato ma non restituisce nulla...


    ho variato la query anche così:

    SELECT id FROM weekend WHERE (date_format(dal,'%Y-%m-%d') = ('2008-17-01'+ INTERVAL 5 DAY ) )


    il campo "dal" infatti è di tipo date.

  7. #7
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    la query funziona.. è la parte di logica che non è ancora corretta...

    infatti con il giorno di oggi, mi dovrebbe pescare l'id relativo il fine settimana di domani (venerdi 18)...

  8. #8
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Risolto:

    $checkDay = 5 - date("w");
    if($checkDay > 0 ) $addDay=$checkDay;
    else $addDay = 7 + $checkDay;

    SELECT
    `id`
    FROM
    `table`
    WHERE
    (`dal` = (date(NOW()) + INTERVAL ".$addDay." DAY ) )



    (era sbagliata la funzione date("N") - quella giusta è date("w")



    GRAZIE 1000!

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.