![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Piszę książkę telefoniczną w php, używam bazy mysql.
W bazie są trzy tabele: wpisy, kategorie oraz tabela realizująca relację wiele-do-wielu: kategorieWpisy. W tabeli tej znajdują się ID kontaktów i kategorii. Załóżmy, że robię selecta dla potrzeb wyświetlenia tablicy z kontaktami i kategoriami: SELECT wpisy.nazwa, kategorie.nazwa FROM wpisy,kategorie,KategorieWpisy WHERE KategorieWpisy.idkontakt=wpisy.id AND KategorieWpisy.idkategoria=kategorie.id czyli dostaję wynik w formie jednej tablicy z nazwami kontaktów i kategoriami, do których są przypisane. Tablicę tą obsługuję oczywiście w standardowy sposób fetch_array Kiedy dany kontakt jest przypisany do więcej niż jednej kategorii, to wynik dotyczący danego kontaktu otrzymuję w formie dwóch wierszy, na przykład: nazwakontaktu kategoria1 nazwakontaktu kategoria2 Chciałbym, żeby użytkownik zobaczył to w formie: nazwakontaktu kategoria1,kategoria2 Problem leży w tym, że linijka "kategoria2" jest generowana już za następnym przebiegiem pętli while-mysql_fetch_array. W związku z tym nie wiem co zrobić, aby uzyskać żądany efekt. Wycinek kodu; wynik zrzucam do zmiennej buforującej i potem wyrzucam echem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 03:15 |