Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z konstrukcją warunku
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam, mam problem z konstrukcją logiczną warunku, proszę o pomoc w temacie;

mam w skrypcie dwa selecty:
  1. <select name="start" >
  2. <? echo '<option value="'.$_POST[start].'">'.$_POST[start].'</option>'; ?>
  3. <option value="01:00">01.00</option>
  4. <option value="02:00">02.00</option>
  5. <option value="03:00">03.00</option>
  6. <option value="04:00">04.00</option>
  7. <option value="05:00">05.00</option>
  8. <option value="06:00">06.00</option>
  9. <option value="07:00">07.00</option>
  10. <option value="08:00">08.00</option>
  11. <option value="09:00">09.00</option>
  12. <option value="10:00">10.00</option>
  13. <option value="11:00">11.00</option>
  14. <option value="12:00">12.00</option>
  15. <option value="13:00">13.00</option>
  16. <option value="14:00">14.00</option>
  17. <option value="15:00">15.00</option>
  18. <option value="16:00">16.00</option>
  19. <option value="17:00">17.00</option>
  20. <option value="18:00">18.00</option>
  21. <option value="19:00">19.00</option>
  22. <option value="20:00">20.00</option>
  23. <option value="21:00">21.00</option>
  24. <option value="22:00">22.00</option>
  25. <option value="23:00">23.00</option>
  26. <option value="24:00">24.00</option>
  27.  


oraz
  1. <select name="stop" >
  2. <? echo '<option value="'.$_POST[stop].'">'.$_POST[stop].'</option>'; ?>
  3. <option value="01:00">01.00</option>
  4. <option value="02:00">02.00</option>
  5. <option value="03:00">03.00</option>
  6. <option value="04:00">04.00</option>
  7. <option value="05:00">05.00</option>
  8. <option value="06:00">06.00</option>
  9. <option value="07:00">07.00</option>
  10. <option value="08:00">08.00</option>
  11. <option value="09:00">09.00</option>
  12. <option value="10:00">10.00</option>
  13. <option value="11:00">11.00</option>
  14. <option value="12:00">12.00</option>
  15. <option value="13:00">13.00</option>
  16. <option value="14:00">14.00</option>
  17. <option value="15:00">15.00</option>
  18. <option value="16:00">16.00</option>
  19. <option value="17:00">17.00</option>
  20. <option value="18:00">18.00</option>
  21. <option value="19:00">19.00</option>
  22. <option value="20:00">20.00</option>
  23. <option value="21:00">21.00</option>
  24. <option value="22:00">22.00</option>
  25. <option value="23:00">23.00</option>
  26. <option value="24:00">24.00</option>
  27.  


$dzisiaj = date("Y-m-d");

chciałbym aby do dalszej części skryptu została przesłana data w zależności od wyboru godziny, czyli jeśli ktoś wybierze z selektów 17.00 do 01.00

to daty automatycznie zostaną wybrane dwie dzisiejsza jak start i jutrzejsza jako stop. Siedzę nad tym już długo i ciągle mi nie wychodzi.... :-(
gogomania
strtotime();
więcej na temat funkcji: http://php.net/manual/en/function.strtotime.php
Pyton_000
zostaw same godziny jako wartosci select tak aby były 1,2,3,4, itd

potem
  1. <?php
  2.  
  3. $start = '17';
  4. $stop = '01';
  5.  
  6. $dateStart = new DateTime();
  7. $dateStart = $dateStart->setTime($start, 0);
  8.  
  9. $dateStop = new DateTime('+1 days');
  10. $dateStop = $dateStop->setTime($stop, 0);
  11.  
  12. var_dump($dateStart, $dateStop);
Kishin
Cytat(Pyton_000 @ 11.08.2015, 14:02:00 ) *
zostaw same godziny jako wartosci select tak aby były 1,2,3,4, itd

potem
  1. <?php
  2.  
  3. $start = '17';
  4. $stop = '01';
  5.  
  6. $dateStart = new DateTime();
  7. $dateStart = $dateStart->setTime($start, 0);
  8.  
  9. $dateStop = new DateTime('+1 days');
  10. $dateStop = $dateStop->setTime($stop, 0);
  11.  
  12. var_dump($dateStart, $dateStop);



Myśle że warto jeszcze dodać ifa dla sytuacji gdy nie bedzie przejscia na drugi dzień

  1. <?php
  2.  
  3. $start = '17';
  4. $stop = '01';
  5.  
  6. $dateStart = new DateTime();
  7. $dateStart = $dateStart->setTime($start, 0);
  8.  
  9. if($start>$stop)
  10. $dateStop = new DateTime('+1 days');
  11. else
  12. $dateStop = new DateTime();
  13.  
  14. $dateStop = $dateStop->setTime($stop, 0);
  15.  
  16. var_dump($dateStart, $dateStop);






Pyton_000
Poooco tyle zbędnego kodu wink.gif

  1. $dateStop = new DateTime($stop == '00' ? '' : '+1 days');
krzesik
ok, fajnie mi to chodzi, ale mam jeszcze jedno pytanie. Jak to "wpleść w to?
<script>DateInput('todaydate', true, 'DD-MON-YYYY', 'questionmark.gifquestionmark.gif-questionmark.gif-questionmark.gif')</script>

próbowałem już tak:
<? echo $start; ?> - ale wywala mi błędy
Pyton_000
A sprawdziłeś Manual co zwraca DateTime i jak zwrócić z tego wartość?
krzesik
tak, ma być jako string

DateInput(DateName, Required*, DateFormat*, DefaultDate*)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.