Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Konkurs: pytania i odpowiedzi - różna ilość, HELP ME, PLEASE !
vieri_pl
post
Post #1





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Witam. Dawno nie prosiłęm o pomoc, lecz teraz po prostu musze bo już mnie głowa od tego problemu boli. Więc zaczne. Tworzę moduł konursów dla osoby x. Ma tam być możliwość tworzenia konkursów ale za każdym razem z inną liczbą pytań i odpowiedzi.
Pytania do bazy dodaje w ten sposób:

pytanie1 ?; pytanie2 ?; pytanie3 ?

Później rozbijam to na części:

  1. <?php
  2.  
  3. $pytania = explode(";", $pyt);
  4. echo $pytania[0];
  5. echo $pytania[1];
  6. echo $pytania[2];
  7.  
  8. ?>


^ No i tu pierwszy problem. Za każdym razem jest inna ilośc odpowiedzi czyli polecenie

  1. <?php
  2.  
  3. $pytania = explode(";", $pyt);
  4.  
  5. ?>

Mam dać to do pętli ?

i drugi bardziej poważny problem sad.gif Muszę jeszcze mieć odpowiedzi do tego w formie checkboxów.

Czyli miało by to wyglądać tak:

Pytanie 1 ?

Tu odp 1 do pyt 1
Tu odp 2 do pyt 1

Pytanie 2?

Tu odp 1 do pyt 2
Tu odp 2 do pyt 2

Pytanie 3?

Tu odp 1 do pyt 3
Tu odp 2 do pyt 3

No jak mam wyswietlic pod każdym pytaniem odpowiedz z checkboxem o odpowiednim value czyli a, b, c bo checki chciałem nazywać a, b, c ,d itd.
A gdy będe to odbierał wrzucał bym to do bazy w takiej postaci:
a;a;b czyli to oznaczałoby że ktoś zaznaczył odpowiedzi kolejna 1-szą,1-szą i drugą.

Proszę o pomoc. Mam po prostu zrobić moduł konkursów w ktorym zawsze może być inna ilość opdowiedzi i pytań. A może ktoś ma lepsze pomysły ?
Go to the top of the page
+Quote Post
Hacker
post
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 0
Dołączył: 1.11.2005

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


tabela pytania z kluczem obcym konkurs_id i poprawna_id
tabela konkursy z tytułem konkursu i ewentualnie innymi danymi
tabela odpowiedzi z kluczem obcym pytania_id
dajesz w checkbox-ach value="odpowiedz['id']" a name pytanie id


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
Go to the top of the page
+Quote Post
^bmb
post
Post #3





Grupa: Zarejestrowani
Postów: 69
Pomógł: 2
Dołączył: 12.12.2005

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


Witam!

Nie do konca wiem jaki konkretnie masz zamysł ale wydaje mi się że przede wszystkim korektę powinieneś zacząć od struktury bazy danych.

Ja osobiście zrobiłbym np DANE_KONKURS:
- id(klucz primary auto increment)
- type ( tu wpisujesz czy PYTANIE , czy ODPOWIEDZ)
- parent ( id konkursu do ktorego nalezy)
- status ( 0-odp prawidlowa 1- odp nieprawidlowa)


To tak na szybko ale wydaje mi się że to by znacznie ułatwiło sprawę
Odpowiednim SELECTEM wybierasz kolejne pytania danego konkursu, dla kazdego pytania wyszukujesz odpowiedzi i masz w kolumnie status czy jest ona poprawna czy nie wiec mozesz ustawiac wartosci checked checkboxow.

Mam nadzieję że pomogłem
--
pozdrawiam
^bmb


--------------------
Cogito Ergo Sum
Go to the top of the page
+Quote Post
vieri_pl
post
Post #4





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Oki to mam tabele:

konkursy:

id - wiadomo
tytul - Konkurs kolorowych kredek
opis - Opisik konkursu
obrazek - obrazek do konkrsu
aktywny - czy konkurs jest jeszcze aktywny (domyślnie 1 czyli aktywny)

pytania:

id - wiadomo
id_k - do ktorego konkursu pytanie
pytanie - Np. Jaki kolor ma kredka id.a2023 ? biggrin.gif

odpowiedzi:

id - wiadomo
id-pyt - id pytania

Taka struktura bazy gra ? No ale ja mam problem z wyświetlaniem tongue.gif Wyswietlam info:

(Pomine wyświetlanie informacji o konkursie takich jak tytuł etc.)

Odp i pyt.

  1. <?php
  2.  
  3. $pytam = "SELECT * FROM pytania WHERE id_k='1'";
  4.  
  5.  $wynik = mysql_query($pytam);
  6.  while($wiersz = mysql_fetch_array($wynik))
  7. {
  8. $id = $wiersz["id"];
  9. $pytanie = $wiersz["pytanie"];
  10.  echo' '.$pytanie.''
  11.  
  12.  // no i jak tu wyswietlic odpowiedzi razem z checkbox-ami do tego pytania z odpowiednim value ?
  13.  
  14. ?>


PS: Wiem że to jest banalne mam dziś zły dzień sad.gif Dawno nic tak mnie nie dobiło :/
Go to the top of the page
+Quote Post
Hacker
post
Post #5





Grupa: Zarejestrowani
Postów: 225
Pomógł: 0
Dołączył: 1.11.2005

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


Taka struktura DB nie gra
konkursy:

id - wiadomo
tytul - Konkurs kolorowych kredek
opis - Opisik konkursu
obrazek - obrazek do konkrsu
aktywny - czy konkurs jest jeszcze aktywny (domyślnie 1 czyli aktywny)

pytania:

id - wiadomo
id_k - do ktorego konkursu pytanie
pytanie - Np. Jaki kolor ma kredka id.a2023 ?
poprawna_id - Np. 2550

odpowiedzi:

id - wiadomo
id_pyt - id pytania
odp - ma kolor kredki id.a2023
  1. <?php
  2. $pytam = "SELECT p.id, p.pytanie, o.id as oid, o.odp FROM pytania as p LEFT JOIN odpowiedzi as o ON(o.id_pyt=p.id) WHERE id_k='1' ORDER BY p.id";
  3.  
  4.  $wynik = mysql_query($pytam);
  5.  while($wiersz = mysql_fetch_array($wynik))
  6. {
  7. $id = $wiersz["id"];
  8. $pytanie = $wiersz["pytanie"];
  9.  if (!$temp = $id)
  10.  {
  11.  echo ' '.$pytanie.'';
  12.  }
  13. echo '<input type="checkbox" name="'.$id.' value="'.$wiersz['oid'].'""> '.$wiersz['odp'];
  14.  
  15. ?>


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
Go to the top of the page
+Quote Post
vieri_pl
post
Post #6





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Dzienks Hacker smile.gif Faktycznie było to proste coś mi mózg wtedy nie pracował :/ Dostosowałem sobie to do swich potrzeb i już wszystko gra smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:25