Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z pętlami i tablicami
MitS
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 5
Dołączył: 8.02.2005
Skąd: Olsztyn / Zatorze

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


Witam!

Już mnie krew zalewa więc byłbym wdzięczny za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mój problem polega na tym że mam taką tablicę:

  1. <?php
  2. [ag] => Array (
  3. [rform] => Array (
  4. [0] => Array (
  5. [rooms] => Array (
  6. [0] => Array (
  7. [room_id] => 4
  8. [room_name] => Apartament1
  9. )
  10.  
  11. [1] => Array (
  12. [room_id] => 5
  13. [room_name] => Apartament2
  14. )
  15.  
  16. [2] => Array (
  17. [room_id] => 3
  18. [room_name] => Apartament3
  19. )
  20.  
  21. [3] => Array (
  22. [room_id] => 1
  23. [room_name] => Apartament4
  24. )
  25.  
  26. [4] => Array (
  27. [room_id] => 2
  28. [room_name] => Apartament5
  29. )
  30.  )
  31. [start_date] => 2007-02-20
  32. [end_date] => 2007-02-22
  33. [hotel_name] => Hotel pierwszy
  34. [hotel_alias] => hotel_pierwszy
  35. )
  36. [1] => Array (
  37. [rooms] => Array (
  38. [0] => Array (
  39. [room_id] => 17
  40. [room_name] => Pokoj1
  41. )
  42. [1] => Array (
  43. [room_id] => 18
  44. [room_name] => pokoj2
  45. )
  46. )
  47. [start_date] => 2007-02-20
  48. [end_date] => 2007-02-22
  49. [hotel_name] => Hotel test
  50. [hotel_alias] => hotel_test
  51. )
  52. )
  53. )
  54. ?>


No i chciałbym zrobić coś takiego, że mam dwa pola wyboru select (pierwszy wybierz hotel, drugi wybierz pokój).
Mój problem polega na tym że nie wiem jak zrobić pętle takie że:

* Wczyta do pierwszego selecta nazwy hoteli (w moim wypadku dwa: Hotel pierwszy i Hotel test),
* wczyta do drugiego selecta wszystkie pozycje z nazwami pokojów z danego hotelu ([room_name]) czyli np. dla Hotel test będą to:
Pokoj1 i Pokoj2

i np. po zmianie hotelu z pierwszego selecta zmienią się nazwy pokoi w drugim...
Ja to zrobiłem tak:

  1. <?php
  2. //----------------------------------------------------- HOTEL ------------------------------//
  3. $hotel = "<select id='hotel' class='hotel' name='hotel_name' tabindex='101'>n";
  4.  
  5. for($i=0; $i<count($data['ag']['rform']); $i++)
  6. {
  7. if(is_array($data['ag']['rform'][$i]['rooms']))
  8. {
  9.  $hotel.='<option value="'.$data['ag']['rform'][$i]['hotel_alias'].'">'.$data['ag']['rform'][$i]['hotel_name'].'</option>';
  10. }
  11. }
  12.  
  13. $hotel.="</select>";
  14.  
  15. //----------------------------------------------------- POKOJE -------------------------------//
  16. $reservation = "<select id='rooms' class='rooms' name='rooms' tabindex='101'>n";
  17.  
  18. for($i=0; $i<count($data['ag']); $i++)
  19. {
  20. if(is_array($data['ag']['rform'][$i]['rooms']))
  21. {
  22. foreach($data['ag']['rform'][$i]['rooms'] as $key => $values)
  23. {
  24. $k[$i]="<option value='".$values['room_id']."'>".$values['room_name']."</option>n"; 
  25. $reservation.= $k[$i];
  26. }
  27. }
  28. }
  29.  
  30. $reservation.="</select>";
  31. ?>


Ale w tym wypadku do drugiego selecta ładują się wszystkie pokoje (z pierwszego hotelu i drugiego) a powinno się tylko z wybranego (i tu mi nie wychodzi)....

Dodatkowo nie wiem jak zrobic js by w zdarzeniu onchange selecta pierwszego bez przeładowania zmieniały mi sie nazwy pokoju po wybraniu danego hotelu ...

Pomożecie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Please bo mnie już nerwica bierze ...

Pozdro


-------------------------
ortograf w temacie bił po oczach
przy okazji poprawiłem te w poście

~Cienki1980


Ten post edytował Cienki1980 20.02.2007, 08:24:40
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 23:17