Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie i wyswietlanie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
huka
Hej,

mam problem z napisaniem skryptu wyświetli dane z dwóch tabel. Chodzi mi o coś takiego że robie programik do testów i chciałbym aby skrypt wyświetlił pytanie zapisane wcześniej w bazie oraz aby wyświetlił odpowiedzi (w postaci pól wyboru) do tego pytania.

Mam tabele Pytyania i tabele Odpowiedzi. W tabeli Odpowiedzi znajduje sie Id pytania, do każdego pytania przypisane sa cztery odpowiwedzi. Chciałbym aby wybierając odpowiednie pytanie pojawiały sie wszystkie odpowiedzi do tego pytania w postaci pól wyboru. Następnie po wybraniu dowolnej ilość odpowiedzi zapisywane jest to do kolejnej tabeli.

Do tej pory udało mi sie stworzyć cos takiego:
  1. <?php
  2.  
  3. mysql_connect (&#092;"localhost\");
  4. mysql_select_db (generator);
  5.  
  6. $zapytanie = &#092;"SELECT * FROM Pytania\";
  7. $wykonaj = mysql_query ($zapytanie);
  8. while($wiersz=mysql_fetch_array ($wykonaj)) 
  9.  
  10. if($stan=='pokaz') {
  11. $zapytanie = &#092;"SELECT * FROM Pytania where ID_pytania=$ID_pytaniapokaz\";
  12. $wykonaj = mysql_query ($zapytanie);
  13. $tablica = mysql_fetch_array($wykonaj);
  14. echo &#092;"<form method=\"get\" action=\"pokaz.php\">
  15. <div align=&#092;"center\">
  16. <center>
  17. <table border=&#092;"0\" width=\"50%\" bordercolorlight=\"#000000\" cellspacing=\"0\" cellpadding=\"0\">
  18. <tr>
  19. <td width=&#092;"50%\"><font size=\"2\" face=\"Verdana\"><b>Treść pytania</b></font></td>
  20. <td width=&#092;"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"textarea\" rows=\"3\" name=\"Tresc_pytania\" value=\"\".$tablica['Tresc_pytania'].\"\" size=\"50\" ></font></td>
  21. </tr>
  22. </table>
  23. </center>
  24. </div>
  25. </form>&#092;";
  26. }
  27.  
  28. ?>
  29. <center>
  30. <form action=\"index.html\"><input type=submit value=\"Powrót do menu\">
  31. </p>
  32. </center>
  33. </form>


Nie bardzo wiem jak zmodyfikowac ten skrypt aby wyświetlał dane w taki sposób jaki pisałem wyżej.
bela
a czemu po while nie ma { ?
huka
A nie wiem dlaczego nie ma po while { , jakoś nie zwróciłem na to uwagi.

To co jest napisane w skrypcie działa więc nie przyglądałem się temu za bardzo.

Mam większy problem ze zrobieniem tego co pisałem wyżej. Nad tym sie cały czas głowie.
Vertical
  1. <?php
  2.  
  3. $id=&#092;"1\";
  4. $zapytanie = &#092;"SELECT * FROM pytania WHERE id=$id\";
  5. $wykonaj=mysql_query($zapytanie);
  6. $row=$mysql_fetch_array($wykonaj);
  7. print(&#092;"Pytanie: $row[pytanie]n\");
  8. $zapytanie=&#092;"SELECT * FROM odpowiedzi WHERE id=$id\";
  9. $wykonaj=mysql_query($zapytanie);
  10. while($wiersz=mysql_fetch_array($wykonaj))
  11. {
  12. printf(&#092;"Odpowiedz: %sn\",
  13.    $wiersz['tresc_odpowiedzi']);
  14. }
  15.  
  16. ?>

Wtedy powinien wybrać pytanie odpowiedzi do niego. Jeśliby nie poszło, to sprawdź, czy przy łączeniu nie powinno być
  1. <?php
  2. $db = mysql_connect (&#092;"localhost\", \"{user}\");
  3. mysql_select_db (&#092;"generator\", $db);
  4. ?>
huka
Po wielu próbach udało mi sie zrobić coś takiego:
  1. <?php
  2. mysql_connect (&#092;"localhost\");
  3. mysql_select_db (generator);
  4.  
  5. $zapytanie = &#092;"SELECT * FROM Pytania\";
  6. $wykonaj = mysql_query ($zapytanie);
  7. while($wiersz=mysql_fetch_array ($wykonaj)) 
  8.  
  9. if($stan=='pokaz') {
  10. $zapytanie = &#092;"SELECT * FROM Pytania where ID_pytania=$ID_pytaniapokaz\";
  11. $wykonaj = mysql_query ($zapytanie);
  12. $tablica = mysql_fetch_array($wykonaj);
  13.  echo &#092;"<form method=\"get\" action=\"pokaz.php\">
  14. <b>Tre&para;ć pytania</b>
  15. <input type=&#092;"textarea\" rows=\"3\" name=\"Tresc_pytania\" value=\"\".$tablica['Tresc_pytania'].\"\" size=\"50\" >
  16. </form>&#092;";
  17. }
  18.  
  19. $zapytanie = &#092;"SELECT * FROM Odpowiedzi\";
  20. $wykonaj = mysql_query ($zapytanie);
  21. while($wiersz=mysql_fetch_array ($wykonaj)) 
  22. echo&#092;"
  23. <b>Odpowiedz</b>
  24. <input type=&#092;"checkbox\" name=\"Odpowiedz\" value=\"$Odpowiedz\" size=\"50\" >\";
  25.  
  26. ?>


Tylko znowu jest problem bo nie pobiera żadnych danych z tabeli Odpowiedzi.
Wyświetl tylko pola checkbox i tyle.Nie pokazuje danych. Wyświetla tyle checkbox-ow ile jest wszystkich odpowiedzi w bazie. A powinno wyswietlic tylko tyle ile jest
przypisane do danego pytania.

Z pytaniami wszystko jest ok.

Nie wiem jak to przerobic aby wyswietlal danez tabeli Odpowiedzi questionmark.gif?
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.