Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF][Zend_Form] Select zależny od select, dane pobierane z bazy danych
enemyofarcha
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.06.2009

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


Witam, może tak pokrótce - jak to dobrze zrobić?

Na sucho w php nie mam problemu z tym, jednak w ZF męczę się już tym trochę. Może pokaże pliki jak to u mnie wygląda w php

select.js
  1. function album(str)
  2. {
  3. if (str=="")
  4. {
  5. document.getElementById(category).innerHTML="";
  6. return;
  7. }
  8.  
  9. if (window.XMLHttpRequest)
  10. {
  11. // code for IE7+, Firefox, Chrome, Opera, Safari
  12. xmlhttp=new XMLHttpRequest();
  13. }
  14. else
  15. {
  16. // code for IE6, IE5
  17. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  18. }
  19.  
  20. xmlhttp.onreadystatechange=function()
  21. {
  22. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  23. {
  24. document.getElementById(category).innerHTML=xmlhttp.responseText;
  25. }
  26. }
  27.  
  28. xmlhttp.open("GET","getcategory.php?q="+str,true);
  29. xmlhttp.send();
  30. }

getcategory.php
  1. <?php
  2. $q=$_GET["q"];
  3.  
  4. $con = mysql_connect('localhost', 'root', '');
  5. if (!$con)
  6. {
  7. die('Could not connect: ' . mysql_error());
  8. }
  9.  
  10. mysql_select_db("table", $con);
  11.  
  12. $sql = "SELECT * FROM categories_gallery WHERE album = $q and category = 0";
  13. $result = mysql_query($sql);
  14.  
  15. while($row = mysql_fetch_array($result)) {?>
  16. <option value="<?=$row['id']?>"><?=$row['name']?></option>
  17. <?php }
  18.  
  19.  
  20. ?>


index.php
  1. <?php
  2. $con = mysql_connect('localhost', 'root', '');
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7.  
  8. mysql_select_db("table", $con);
  9. $sql = 'SELECT * FROM categories_gallery WHERE album = 0 and category = 0';
  10. $result = mysql_query($sql);
  11. ?>
  12. <html>
  13. <head>
  14. <title>select</title>
  15. <script type="text/javascript" src="select.js"></script>
  16. </head>
  17. <body>
  18. <form>
  19. <select id="album" name="album" onchange="album(this.value)">
  20. <option value="">Album</option>
  21. <?php while($row = mysql_fetch_array($result)) {?>
  22. <option value="<?=$row['id']?>"><?=$row['name']?></option>
  23. <?php } ?>
  24. </select>
  25.  
  26. <select id="category" name="category">
  27. <option value="">Kategoria</option>
  28. </select>
  29. </form>
  30. </body>
  31. </html>


--------------------
Fotografia
Fiona - Cały świat mojego psa
Go to the top of the page
+Quote Post
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


W widoku daj po prostu dla tego elementu JS'ową akcję jak to normalnie robisz.
Kod
$(element).change(...);


Przed sprawdzeniem walidacji formularza pobierz te elementy zależne i wrzuć do formularza jako opcje i sprawdź walidację, gdy nie przejdzie walidacji formularz będzie miał wypełnione już oba pola select i zaznaczone odpowiednie opcje.

Ten post edytował melkorm 29.08.2010, 15:46:37


--------------------
Go to the top of the page
+Quote Post
enemyofarcha
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.06.2009

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


Jakoś nie podchodzi mi aktualizacja pól select przez walidacje formularza...


--------------------
Fotografia
Fiona - Cały świat mojego psa
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


To wtedy nie zrozumiałeś o co mi chodzi smile.gif

Przyjdę do domu z roboty to napiszę pseudokod jak to ma mniej więcej wyglądać smile.gif


--------------------
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 Aktualny czas: 20.08.2025 - 14:13