Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie do bazy, wynik przekazany do form
primo
post 18.05.2005, 12:27:38
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


Witam,

  1. <?php
  2.  
  3. require_once(&#092;"funkcje/BD.class.php\");
  4.  
  5. $id = $_POST[&#092;"id\"];
  6. $this_id = $_POST[&#092;"this_id\"];
  7. $tytul_pl = $_POST[&#092;"tytul_pl\"];
  8.  
  9. $bd = new BD;
  10.  
  11. if (!$bd->otworz()) {
  12. die ($bd->blad());
  13. }
  14.  
  15. if (!$bd->zapytaj(&#092;"SELECT * FROM filmyPolecam ORDER BY id DESC\")) {
  16. die ($bd->blad());
  17. }
  18.  
  19. while($row = $bd->pobierzTablice())
  20. {
  21. $this_id = $row[0];
  22. $tytul_pl = $row[1];
  23.  
  24. echo '<form action=\"index.php?op=33&id='.$this_id.'\" METHOD=\"POST\">';
  25. echo '<select>';
  26. echo '<option><a href=\"index.php?op=33&id='.$this_id.'\">'.$tytul_pl.'</a></option>';
  27.  
  28. }
  29. echo '</select>
  30. <input type=\"submit\" value=\"Wyślij\">
  31. </form>';
  32.  
  33. ?>


nie wiem dlaczego po przekazaniu listy filmów z bazy do rozwijanej listy formularza option, skrypt nie pamięta jaki id jest do konkretnego rekordu. Jak kliknę najwyższy (ostatni z listy) to ok, a każdy kolejny jest uważany jako ten z tym najwyższym id.


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
nospor
post 18.05.2005, 12:30:09
Post #2





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




blad nad bledami. czemu ty wp petli ciągle wypisujesz <form i <select? To powinno być przed petlą a wpetli tylko option

pozatym nie przekazuj w form id selecta. nadaj nazwe dla selectsa, nadaj wartości dla option bedace twoim id a potem poprzez post pobierz wartośc selecta.
robienie linku w option to raczej ci nie wyjdzie

Ten post edytował nospor 18.05.2005, 12:32:45


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
primo
post 18.05.2005, 12:48:13
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


A więc tak:

jak wyrzucę form i select z ciała pętli to nic nie przekazuje.

Jeśli dobrze Cię zrozumiałem to mam nadać name dla selecta i value dla option ?

  1. <?php
  2. echo '<select name=$tytul_pl>';
  3. echo '<option value=$this_id><a href=\"index.php?op=33&id='.$this_id.'\">'.$tytul_pl.'</a></option>';
  4. ?>


jakoś mi to nie chce nadal działać...


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
nospor
post 18.05.2005, 12:52:14
Post #4





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




  1. <?php
  2.  
  3.  
  4. echo '<form action=\"index.php\" METHOD=\"POST\">';
  5. echo '<select name=\"jakiesname\">';
  6. while($row = $bd->pobierzTablice())
  7. {
  8. $this_id = $row[0];
  9. $tytul_pl = $row[1];
  10.  
  11. echo '<option value=\"'.$this_id.'\">'.$tytul_pl.'</option>';
  12.  
  13. }
  14. echo '</select>
  15. <input type=\"submit\" value=\"Wyślij\">
  16. </form>';
  17.  
  18. ?>


a potem pobierasz
$cos=$_POST['jakiesname'];

Ten post edytował nospor 18.05.2005, 12:52:31


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
primo
post 18.05.2005, 13:25:23
Post #5





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


dzięki za pomoc. Wprawdzie to nie do końca sprawdziło się u mnie, ale naprowadziło mnie na odpowiedni trop.

Poniżej kod jak wygląda kompletne rozwiązanie:

  1. <?php
  2. require_once(&#092;"funkcje/BD.class.php\");
  3.  
  4.  
  5.  
  6. $bd = new BD;
  7.  
  8. if (!$bd->otworz()) {
  9. die ($bd->blad());
  10. }
  11.  
  12. if (!$bd->zapytaj(&#092;"SELECT * FROM filmyPolecam ORDER BY id DESC\")) {
  13. die ($bd->blad());
  14. }
  15.  
  16.  
  17.  
  18. echo '<form action=\"index.php?op=33&id='.$this_id.'\" METHOD=\"post\">';
  19. echo '<select name=\"nazwa\">';
  20. while($row = $bd->pobierzTablice())
  21. {
  22. $this_id = $row[0];
  23. $tytul_pl = $row[1];
  24.  
  25.  
  26. echo '<option value=\"'.$this_id.'\"><a href=\"index.php?op=33&id='.$this_id.'\">'.$tytul_pl.'</a></option>';
  27.  
  28. }
  29. echo '</select>
  30. <input type=\"submit\" value=\"Wyślij\">
  31. </form>';
  32. ?>


dodam tylko iż w skrypcie, do którego odnosi się cyferka 33 w adresie dopisałem:

  1. <?php
  2. $id = $_POST[&#092;"nazwa\"];
  3. $this_id = $_POST[&#092;"nazwa\"];
  4. $tytul_pl = $_POST[&#092;"nazwa\"];
  5. ?>


to by było na tyle.

pozdrawiam


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
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: 19.07.2025 - 10:21