Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problem z konstrukcją warunku
krzesik
post 11.08.2015, 12:41:25
Post #1





Grupa: Zarejestrowani
Postów: 513
Pomógł: 1
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


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.... :-(
Go to the top of the page
+Quote Post
gogomania
post 11.08.2015, 12:53:24
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 1
Dołączył: 7.02.2013

Ostrzeżenie: (0%)
-----


strtotime();
więcej na temat funkcji: http://php.net/manual/en/function.strtotime.php
Go to the top of the page
+Quote Post
Pyton_000
post 11.08.2015, 13:02:00
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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);
Go to the top of the page
+Quote Post
Kishin
post 11.08.2015, 14:26:38
Post #4





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

Ostrzeżenie: (0%)
-----


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);






Go to the top of the page
+Quote Post
Pyton_000
post 11.08.2015, 15:00:45
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Poooco tyle zbędnego kodu wink.gif

  1. $dateStop = new DateTime($stop == '00' ? '' : '+1 days');
Go to the top of the page
+Quote Post
krzesik
post 11.08.2015, 16:37:40
Post #6





Grupa: Zarejestrowani
Postów: 513
Pomógł: 1
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Pyton_000
post 11.08.2015, 17:04:25
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A sprawdziłeś Manual co zwraca DateTime i jak zwrócić z tego wartość?
Go to the top of the page
+Quote Post
krzesik
post 11.08.2015, 17:13:22
Post #8





Grupa: Zarejestrowani
Postów: 513
Pomógł: 1
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


tak, ma być jako string

DateInput(DateName, Required*, DateFormat*, DefaultDate*)

Ten post edytował krzesik 11.08.2015, 17:13:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 09:00