Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie do bazy i późniejsze "kojarzenie" danych z dwóch tabel
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Witam,
mam w bazie 2 tabeli:


Tabela 1: budowaofert (przechowuje nazwy ofert)

id | nazwaOferty
___________________
1 | nazwa 1
2 | nazwa 2
3 | nazwa 3
itd.


Tabela 2: wybraneoferty (przechowuje powiązania userów z ofertami)

id_pracownik | wybraneOferty
_______________________________
1 | 1,2,3
2 | 2,5,11
3 | 4,6,15
itd.

W tabeli nr 2 (wybraneoferty) w kolumnie wybraneOferty przechowywane są ID ofert z tabeli budowaofert, z tym, że każdy user może mieć wybraną jedną, lub więcej niż jedna ofertę, poszczególne oferty są zapisywane w kolumnie wybraneOferty i rozdzielane przycinkiem.

Teraz chcę wykonać do bazy zapytanie, które:
1. pobierze mi wszystkie oferty z tabeli budowaofert i wygeneruje mi z tego listę ofert z checkboxami do odhaczenia
2. pobierze mi wszystkie WYBRANE przez konkretnego usera oferty (pobierając je z tabeli wybraneoferty i kolumny wybraneOferty) i, co ważne, WSTAWI CHECKED W CHECKBOXACH TYCH OFERT, ID KTÓRYCH ZNAJDUJĄ SIĘ W KOLUMNIE wybraneOferty tabeli wybraneoferty.

Robie takie zapytanie:

  1. <?php
  2. $nazwyOfert = mysql_query("SELECT * FROM budowaofert b, wybraneoferty w ORDER BY b.id ASC");
  3.  
  4. while ($row = @mysql_fetch_array($nazwyOfert)) {
  5.  
  6. $wybranePrzezUsera = explode(",", $row["wybraneOferty"]);
  7.  
  8. foreach($wybranePrzezUsera AS $wybrane){
  9. if(in_array($wybrane, array($row["id"]))){
  10. $checked = ' checked';
  11. }
  12. else{
  13. $checked = '';
  14. }
  15. }
  16.  
  17. printf('<INPUT TYPE="checkbox" name="charPracy[]" value="%s" class="no-input"'.$checked.'>%s<BR>'."rr", $row["id"], $row["nazwaOferty"]);
  18.  
  19. }
  20. ?>


Działa, ale zaznacza mi tylko ostatniego checkboxa, czyli np jak pobieram dane i
d_pracownik = 2, to odhacza mi tylko ofertę nr 11, a jak pobieram id_pracownik = 
3, to odhacza mi tylko 15 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Co robię nie tak?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował miedzna 30.04.2007, 10:15: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: 14.09.2025 - 20:13