Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wykluczenie poszczególnych elementów z pętli
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


Witam.
Mam skrypt który generuje listę wyboru dat z godzinami - jest to rodzaj systemu rezerwacyjnego dla przychodni lekarskich.
Skrypt wygląda następująco:
  1. <?php
  2. include('connect2.php');
  3. $sql= "select concat(dni_tyg,godz_pocz) as poczatek, czas_BAD*60 as czas_BAD, concat(dni_tyg,godz_kon)
  4. as koniec from bad_lek where id_lek=3";
  5. $rez= mysqli_query($mysqli, $sql);
  6. while ($nowaTab=mysqli_fetch_array($rez,MYSQLI_ASSOC))
  7. {
  8. $pocz=$nowaTab['poczatek'];
  9. $czas=$nowaTab['czas_BAD'];
  10. $konc=$nowaTab['koniec'];
  11. $poczatek= date('Y-m-d G:i:s', strtotime($pocz));
  12. $koniec= date('Y-m-d G:i:s', strtotime($konc));
  13. }
  14. $sql2= "select timestamp(termin) as zajety from wizyta where id_lek=3";
  15. $rez2= mysqli_query($mysqli, $sql2);
  16. while ($nowaTab1=mysqli_fetch_array($rez2,MYSQLI_ASSOC))
  17. {
  18. $zaj=$nowaTab1['zajety'];
  19. $zajety= date('Y-m-d G:i:s', strtotime($zaj));
  20. }
  21. echo '<select name="termin">';
  22. echo '<option value=>--wybierz datę--</option>';
  23. $termin=$poczatek;
  24. while ($termin<=$koniec){
  25. echo '<option value="'.$termin.'">'.$termin.'</option>';
  26. echo $termin. "<br>";
  27. $termin=date("Y-m-d G:i:s", strtotime("+$czas second", strtotime($termin)));
  28. if ($termin==$zajety){continue;}
  29. }
  30. echo '</select>';
  31. ?>


Próbowałem już różnych rzeczy i chciałem żeby skrypt przy wykonywaniu pętli wykluczał wszystkie opcje które będą podawane przez zmienną $zajety. Są to dokładnie takie same ciągi.
Chciałem to zrobić pętlą for, ale z jakiegoś powodu nie działa mi na datach. Wpadłem na to while, ale nie bardzo wiem jak sprawę rozwiązać dalej. Prosiłbym o jakieś wskazówki ew. przykłady. Mnie się skończyłu pomysły. A że niestety jestem początkujący to za dużo ich nie mam.
Z góry dzięki za waszą pomoc

Wpadłem jeszcze na coś takiego:
  1. for ($termin=$poczatek;$termin<=$koniec;){
  2. echo '<option value="'.$termin.'">'.$termin.'</option>';
  3. echo $termin. "<br>";
  4. $termin=date("Y-m-d G:i", strtotime("+$czas second", strtotime($termin)));
  5. if($termin==$zajety){
  6. continue;
  7. }
  8. }
  9. echo '</select>';

ale to też mi pokazuje całą pętlę. bez wyłączenia $zajety. (IMG:style_emoticons/default/sciana.gif)
Pls pomocy bo już zupełnie nie wiem co zrobić a nie daje mi to spokoju.

Ten post edytował jacusek 8.12.2009, 23:47:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




kurcze.... ale weź zajrzyj do manuala jak należy uzywac in_array() a nie strzelasz jakieś kody z kosmosu... przedzież w manualu masz to opisane, nawet masz podane przykłady.

Jak tak dalej bedziesz podchodził do sprawy to temat zamkne to może wówczas odrobinę się zmotywujesz (IMG:style_emoticons/default/smile.gif)

kolejna sprawa:
nie:
  1. while ($nowaTab1=mysqli_fetch_array($rez2,MYSQLI_ASSOC))
  2. {
  3. $zaj=$nowaTab1['zajety'];
  4. $zajety= date('Y-m-d G:i', strtotime($zaj));
  5. array($zajety);
  6. }

a:
  1. $zajety = array();
  2. while ($nowaTab1=mysqli_fetch_array($rez2,MYSQLI_ASSOC))
  3. {
  4. $zaj=$nowaTab1['zajety'];
  5. $zajety[]= date('Y-m-d G:i', strtotime($zaj));
  6.  
  7. }
Go to the top of the page
+Quote Post

Posty w temacie
- jacusek   [PHP]Wykluczenie poszczególnych elementów z pętli   9.12.2009, 07:59:31
- - nospor   Cytatale to też mi pokazuje całą pętlę. bez wyłącz...   9.12.2009, 08:02:42
- - jacusek   No właśnie nie bardzo wiem jak to sprawdzić. Dlac...   9.12.2009, 08:25:22
- - nospor   CytatNo właśnie nie bardzo wiem jak to sprawdzić.o...   9.12.2009, 08:29:35
- - jacusek   Dzięki nospor . Zaszwankowała u mnie logika . Jes...   9.12.2009, 08:51:07
- - nospor   no to niech $zajęty bedzie tablicą a poźniej ...   9.12.2009, 09:05:40
- - zulik   OT [PHP] pobierz, plaintext include('connect2...   9.12.2009, 10:05:54
- - jacusek   Ok. Zrobiłem coś takiego [PHP] pobierz, plaintex...   9.12.2009, 10:31:33
- - nospor   kurcze.... ale weź zajrzyj do manuala jak należy u...   9.12.2009, 10:38:42
- - jacusek   Wielkie dzięki i gratulacje za cierpliwość . Tylk...   9.12.2009, 11:10:03
- - nospor   to pokaz caly kod bo rzeczy o ktorych tu mowisz ni...   9.12.2009, 11:12:54
- - jacusek   oto cały kod. Był powyżej ale rzeczywiście w kawał...   9.12.2009, 11:18:43
- - nospor   nie pojawia ci sie pierwsza data, bo na dzien dobr...   9.12.2009, 11:22:04
- - jacusek   Szczerze mówiąc nie wiem jak to zrobić. Udało mi s...   9.12.2009, 12:06:54
- - nospor   Mowiac, ze na dzien dobry w petli zwiekszasz termi...   9.12.2009, 21:18:41
- - jacusek   Dobra powiem jak ja rozumuję i popraw mnie gdzie p...   9.12.2009, 21:34:49
- - nospor   CytatNo ale jak ma coś sprawdzać skoro pętla nie m...   9.12.2009, 21:38:56
- - jacusek   Poprawiłem kod tak jak mówiłeś i nadal nie działa....   9.12.2009, 21:56:25
- - nospor   przeciez to: $termin=date("Y-m-d G:i...   9.12.2009, 22:00:40
- - jacusek   w taki przypaku w ogóle mi się nie wykonuje. Już n...   9.12.2009, 22:13:17
- - nospor   [PHP] pobierz, plaintext while ($termin<=$k...   9.12.2009, 22:18:24
- - jacusek   Dzięki wielkie. NOSPOR . Jak widzisz napraw...   9.12.2009, 22:39:39
- - nospor   To nie wykrzyknik. To operator negacji W manualu ...   9.12.2009, 22:41:56
- - jacusek   W manualu przy in_array przy przykładach nie znala...   9.12.2009, 23:09:29


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

 



RSS Aktualny czas: 16.09.2025 - 17:57