Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z wyświetleniem danych w postaci checkbox
huka
post
Post #1





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

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


Witam,

mam problem z wświetleniem danych w postaci pól wyboru (checkbox). Chodzi mi o coś takiego ze robie program do testów i skrypt powinien wygenerować pytania i odpowiedzi do pytań.
Z wyświetleniem pytań nie mam problemu, natomiast z wyświetleniem odpowiedzi do tych pytań już tak. Odpowiedzi chciałbym wyświetlić w postaci pól wyboru. Problem polega na tym że powinno pokazać odpowiedzi tylko do wskazanego pytania. W bazie danych oczywiście mam zapisane odpowiedzi (po 4 do każdego pytania).
Udało mi sie napisac taki skrypt:
  1. <?php
  2. mysql_connect (&#092;"localhost\");
  3. mysql_select_db (generator);
  4. $zapytanie = &#092;"SELECT * FROM Pytania\";
  5. $wykonaj = mysql_query ($zapytanie);
  6. while($wiersz=mysql_fetch_array ($wykonaj)) 
  7.  
  8. if($stan=='pokaz') {
  9. $zapytanie = &#092;"SELECT * FROM Pytania where ID_pytania=$ID_pytaniapokaz\";
  10. $wykonaj = mysql_query ($zapytanie);
  11. $tablica = mysql_fetch_array($wykonaj);
  12.  echo &#092;"<form method=\"get\" action=\"pokaz.php\">
  13.       <b>Tresc pytania</b>
  14.       <input type=&#092;"textarea\" rows=\"3\" name=\"Tresc_pytania\" value=\"\".$tablica['Tresc_pytania'].\"\" size=\"50\" ></form>\";
  15. }
  16.  
  17. $zapytanie = &#092;"SELECT * FROM Odpowiedzi\";
  18. $wykonaj = mysql_query ($zapytanie);
  19. while($wiersz=mysql_fetch_array ($wykonaj)) 
  20. echo&#092;"
  21. <b>Odpowiedz</b>
  22. <input type=&#092;"checkbox\"  name=\"Odpowiedz\" value=\"$Odpowiedz\" size=\"50\" >\";
  23.  
  24. ?>

Aby wyświetlic pytania generowany jest jeszcze ten skrypt:
  1. <?
  2. $db_name = &#092;"generator\";
  3. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  4. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli nie powiodło się\");
  5. $sql = &#092;"select * from Pytania\";
  6. $result = mysql_query($sql, $con) or die(&#092;"Błąd połączenia\");
  7. $i=0;
  8.  
  9. while ($record = mysql_fetch_array($result)){
  10. $i++;
  11. print &#092;"<tr><td><a href=\"pokaz.php?stan=pokaz&ID_pytaniapokaz= $record[0]\">Pytanie $i</a></td>\";
  12. }
  13. ?>

Problem jest w tym że nie pokazuje żadnych odpowiedzi tylko pola wyboru. Pokzuje taką ilość checkbox-ów jaka jest ilość wszystkich odpowiedzi w tabeli. A powinno pokazać tylko tyle odpowiedzi ile jest przypisane do wskazanego pytania.

Nie wiem jak to przerobić aby pokazało odpowiedzi w postaci checkbox-ów (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Ten post edytował huka 2.11.2004, 14:06:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Majcok12
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 20.02.2004

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


Nie wiem, ale moze zrob to w ten sposob .
  1. <?
  2. $id_pytania = &#092;"0\"; // identyfikatorem pytan, bedzie np. inkrementowane pole
  3. $q = &#092;"SELECT count(*) FROM pytania\";
  4. $w = mysql_query($q);
  5. $ilosc_pytan = mysql_fetch_row($w); 
  6.  
  7. while ($id_pytania<$ilosc_pytan[0]) {
  8. $query = &#092;"SELECT id_odpowiedzi, pytanie FROM pytania WHERE id_pytania = '$id_pytania'\";
  9. $wynik = mysql_query($query);
  10. $id_pytania++;
  11. if(!$wynik) {
  12.     echo &#092;"Brak pytan\";
  13. }
  14. else {
  15.     $pytania =  mysql_fetch_array($wynik);
  16.     $pytanie = $pytania[&#092;"pytanie\"];
  17.     $id_odpowiedzi = $pytania[&#092;"id_odpowiedzi\"];
  18.     ?>
  19.     <table cellpadding=\"1\" cellspacing=\"1\" width=\"175\">
  20. <tr><td colspan=\"4\"><? echo &#092;"$pytanie\"; ?></td></tr>
  21. <form method=\"POST\" action=\"jakas_strona.php\">
  22.          <?
  23.          $ile = &#092;"0\";
  24.          $zapytanie = &#092;"SELECT count(*) FROM odpowiedzi WHERE id_odpowiedzi = '$id_odpowiedzi'\";
  25.          $result = mysql_query($zapytanie);
  26.          $ilosc_odp = mysql_fetch_row($result); 
  27.          $query = &#092;"SELECT odpowiedz FROM odpowiedzi WHERE id_odpowiedzi = '$id_odpowiedzi'\";
  28.          $wynik = mysql_query($query);
  29.          while ($odpowiedz = mysql_fetch_array($wynik) AND $ile<$ilosc_odp[0]) {
  30.         $ile++;
  31.         $opcje = $odpowiedz[&#092;"odpowiedz\"];
  32. ?>
  33.     <tr>
  34.     <td width=\"10\"><input type=\"checkbox\" name=\"odpowiedz\" value=\"odpowiedz<? echo &#092;"$ile\"; ?>></td>
  35.       <td width=\"165\">
  36.     <? echo &#092;"$opcje\"; ?></td>
  37.      </tr>
  38.     <?
  39.     }
  40. }
  41. ?>


Mysle ze wiadomo o co mi chodzilo, moze byc cos zle z powodu kiedy to pisze (moze nie az tak pozno, ale ledwo co juz mysle (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )

PZdr

Ten post edytował Majcok12 3.11.2004, 09:07:53
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: 7.10.2025 - 00:01