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%)
-----


Np. W tabeli Sondy masz rekord o id = 5.

Pobierasz pytanie z tabeli nr 1 (Sondy).

  1. SELECT pytanie FROM Sondy WHERE id = 5 LIMIT 1 ;


Następnie odpowiednio przetwarzasz je sobie funkcjami w php i wyświetlasz pytanie.

W dalszej kolejności pobierasz odpowiedzi z tabeli nr 2 (Odpowiedzi).

  1. SELECT * FROM Odpowiedzi WHERE idSondy = 5;


Po wykonaniu takiego zapytania zostaną pobrane wszystkie odpowiedzi dla sondy o id = 5.
To zapytanie możesz również przetworzyć za pomocą php i stworzyć np. tablicę z danymi, na podstawie której możesz wygenerować stosowny formularz.

Numer id sondy możesz sobie przechowywać w url-u np. jako zmienną $_GET['id'] i wstawiać ją do tego zapytania (pamiętaj też o odpowiedniej filtracji, aby uniknąć sql injection).

Id sond nie muszą być kolejnymi numerami. Możesz sobie je generować np. na bazie aktualnego czasu za pomocą funkcji date('YmdGis'); , która wygeneruje Ci unikalną liczbę, w której będzie zawarta data, godzina, minuta oraz sekunda, w której została dodana sonda.

Ten post edytował Speedy 23.01.2008, 18:34: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: 26.12.2025 - 16:16