Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MySQL] generowanie dynamicznego formularza na podstawie wynikow z bazy SQL
HDN
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.01.2008

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


Witam,
do rzeczy mam skrypt ktory dodaje mi sonde do bazy danych na podstawie formularza do ktorego wpisuje sie pytanie i 6 odpowiedzi z tym ze nie wsystkie sa konieczne(min. 2).

Jak zrobic by wyswietlalo mi formularz(sonde) z mozliwymi do wyboru odpowiedziami z tym ze liczba tych odpowiedzi jest ustalana w zaleznosci od tego ile pol o1-o6 jest wypelnionych. Te pola sa wypelniane innym formularzem ktory dodaje sonde do bazy


oto baza:
pola od o1 do o6 to pola zawierajace odpowiedzi. a pola g1 do g6 beda zawieraly glosy
(IMG:http://designwww.ovh.org/baza.jpg)


Bardzo proszę o odpowiedz i z góry dziękuje.
Jest to dosyć skomplikowane(jak dla mnie) więc jeśli ktoś mi pomoże i będzie chciał to w ramach wdzięczności mogę wykonać jakąś grafikę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Speedy
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


To zapytanie, jak już napisałem wcześniej, powinno Ci zwrócić wszystkie rekordy z pytaniami.

Następnie puszczasz w pętli instrukcję mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual

Możesz skorzystać z funkcji wziętej żywcem z komentarzy z manuala php.

  1. <?php
  2. function mysql_fetch_all($query,$MySQL=NULL){
  3.  $r=@mysql_query($query,$MySQL);
  4.  if($err=mysql_errno($MySQL))return $err;
  5.  if(@mysql_num_rows($r))
  6. while($row=mysql_fetch_array($r))$result[]=$row;
  7.  return $result;
  8. }
  9. ?>


Następnie puszczasz sobie w pętli tę tablicę i generujesz formularz.

Oto przykładowe, schematyczne generowanie formularza z wykorzystaniem ww. funkcji (chodzi o sam pomysł) :

  1. <?php
  2.  
  3. $array = mysql_fetch_all('select * from Odpowiedzi where idSondy = 5');
  4.  
  5. echo '<form method="post" action="">';
  6.  
  7. foreach($array as $row)
  8. {
  9. echo '<input type="radio" name="glosowanie" value="'.$row['id'].'" />';
  10. }
  11.  
  12. echo '<input type="submit" value="Głosuj" />';
  13.  
  14. echo '</form>';
  15.  
  16. ?>


Ten post edytował Speedy 24.01.2008, 02:28:31
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: 15.10.2025 - 09:56