Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Foreach Pytanie, Odpowiedz
Forum PHP.pl > Forum > Przedszkole
kopecsrk
Witam.

Sprawa jest taka posiadam tabele pytania i odpowiedzi.

tabela odpowiedzi ma formularz_Id, i pytania_id

Chcę w formularzu wyświetlić pytanie + odpowiedz i tak ilokroć jest pytań i odpowiedzi.

Zrobiłem pentle w pentli czyli :

  1. foreach ($model->pytanie as $pytanie) {
  2. echo $pytanie->pytanie . '<br><br>';
  3. foreach ($model->odpowiedz as $odpowiedz) {
  4. echo $odpowiedz->odpowiedz . '<br><br>';
  5. }
  6. }


I wypluwa mi tak że mam wszystkie pytania a w środku powtarzają się wszystki odpowiedzi w jednym czyli:

Pytanie 1
odpowiedz do pytania 1
odpowiedz do pytania 2
odpowiedz do pytania 3
Pytanie 2
odpowiedz do pytania 1
odpowiedz do pytania 2
odpowiedz do pytania 3
Pytanie 3
odpowiedz do pytania 1
odpowiedz do pytania 2
odpowiedz do pytania 3

A potrzebuje :
Pytanie 1
odpowiedz do pytania 1
Pytanie 2
odpowiedz do pytania 2
Pytanie 3
odpowiedz do pytania 3

maniana
Model odpowiedzi musi być powiązany z pytaniem... Czyli mając pytanie moglibyśmy wyświetlić przypisane do niego odpowiedzi... Czysto teoretycznie wyglądało by to tak:
  1. foreach($model->pytanie as $pytanie) {
  2. echo $pytanie->pytanie . '<br><br>';
  3. foreach($pytanie->odpowiedzi as $odpowiedz) {
  4. echo $odpowiedz->odpowiedz . '<br><br>';
  5. }
  6. }
kopecsrk
Nie działa w ten sposób. Jedynym powiązaniem miedzy tymi tabelami jest "pytanie_id" i jest to w relacjach. Ma ktoś jeszcze jakiś pomysł jak mogę to zrobić?
maniana
To co wcześniej napisałe, to była czysta teoria wykorzystania modeli, więc jeśli powiązanie jest i jest widoczne jako dane to może taki kierunek:
  1. foreach($model->pytanie as $pytanie) {
  2. echo $pytanie->pytanie . '<br><br>';
  3. foreach($model->odpowiedz as $odpowiedz) {
  4. if($pytanie->pytanie_id==$odpowiedz->pytanie_id) {
  5. echo $odpowiedz->odpowiedz . '<br><br>';
  6. }
  7. }
  8. }
Też napisane czysto teoretycznie.
kopecsrk
Dzięki mordka.. ja.. to takie proste było.. nie wierze po prostu.. ;]

Chodzi o to że ja dałem ci prosty przykład tego co mam w kodzie, mój kod jest bardziej rozbudowany i tam się wywołuje model przez modele w relacjach, no sajgon, przerobiłem to co napisałeś i działa poprawnie smile.gif Jeszcze raz dzieki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.