Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Tworzenie formularza na podstawie danych z 2óch tabel
dr revuu
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


Mam następujący problem. Chcę utworzyć formularz, który czerpie dane z 2óch tabel. Wygląda to tak:

  1. echo '<select>';
  2. $zapyt=mysql_query("SELECT `id` FROM `$tabela1` WHERE `id`='$zmienna1' ");
  3.  
  4. while($po_zapyt=mysql_fetch_assoc($zapyt)){
  5. $zapyt2=("SELECT `name` FROM `$tabela2` WHERE `id`='$po_zapyt[id]'");
  6. $po_zapyt2=mysql_fetch_assoc($zapyt2);
  7. echo "<option value=\"$po_zapyt[id]\">$po_zapyt2[name]</option>";
  8. }
  9. echo '</select>';


Próbowałem wstawić drugą pętlę while w miejscu:
  1. $po_zapyt2=mysql_fetch_assoc($zapyt2);
ale to nic nie dało. Jakieś sugestie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
krispak
post
Post #2





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Ja tu widze tylko jedna petle, gdzie masz ta druga? A tak w ogole to co masz za problem bo nic nie napisales na jego temat. Wyskakuje blad? Nie wypisuje?

EDIT:
Masz relacje miedzy tabelami wiec uzyj w jednym zapytaniu LEFT JOIN

Ten post edytował krispak 18.09.2010, 11:53:08


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
zordon
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


poczytaj o left join, inner join (w zależności co chcesz uzyskać) - wyciągniesz potrzebne dane w 1 zapytaniu
Go to the top of the page
+Quote Post
dr revuu
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


@krispak - nie pokazuje mi się lista w select, mimo że w bazie są rekordy.
@zordon - tylko to jest tak, że drugie zapytanie pobiera wartości z pierwszego. Dobra, spojrzę jak jest z tym left i inner join. Proszę nie zamykać tematu, jbc to jeszcze napiszę tutaj.
Go to the top of the page
+Quote Post
_d7
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.09.2010

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


Cytat(dr revuu @ 18.09.2010, 12:22:21 ) *
Mam następujący problem. Chcę utworzyć formularz, który czerpie dane z 2óch tabel
[...]
Jakieś sugestie?

Wydaje mi się, że chcesz zrobić coś takiego
  1. echo '<select>';
  2. $zapyt=mysql_query("SELECT t1.id as id, t2.name as name FROM `$tabela1` t1 INNER JOIN `$tabela2` t2 ON (t1.id = t2.id)");
  3.  
  4. while($po_zapyt=mysql_fetch_assoc($zapyt)){
  5. echo "<option value=\"$po_zapyt[id]\">$po_zapyt2[name]</option>";
  6. }
  7. echo '</select>';

ale tylko zgaduję ...
mogą był błędy składniowe, bo nie sprawdzałem
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: 19.08.2025 - 17:57