Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Zmieniająca się lokalizacja odpowiedzi
Forum PHP.pl > Forum > Przedszkole
Na 5tyk
Cześć.

Mam zapytanie losujące pytanie z bazy danych.
  1. $pytanie = $db->query("SELECT * FROM pytania ORDER BY RAND() LIMIT 1"); //Losowanie pytania nr. 2
  2. $pytanie = $pytanie->fetchAll();


W polach odp, zodp1, zodp2, zodp3 są zawarte odpowiedzi.
odp - Poprawna odpowiedź
zodp1, zodp2, zodp3 - Błędne odpowiedzi


I chciałbym teraz zrobić, że za pomocą
<input type="radio" name="odp" value="Jedna z odpowiedzi" />
wyświetlały się 4 razy (każda odpowiedź raz). Tylko mój problem polega na tym, że chciałbym, aby nie było ustalone z góry, w którym miejscu jest prawidłowa odpowiedź tylko za każdym razem była w innym miejscu.
Niree
Ustaw sobie w kodzie pętlę na 4x i losowo generuj odpowiedzi.
untorched
Pseudokod:
  1. $query = $db->query("SELECT * FROM pytania ORDER BY RAND() LIMIT 1"); //Losowanie pytania nr. 2
  2. $pytania = $query->fetchAll();
  3.  
  4. foreach($pytania as $pytanie) {
  5. $odpowiedzi = [];
  6. $odpowiedzi[] = $pytanie['odp'];
  7. $odpowiedzi[] = $pytanie['zodp1'];
  8. $odpowiedzi[] = $pytanie['zodp2'];
  9. $odpowiedzi[] = $pytanie['zodp3'];
  10. shuffle($odpowiedzi);
  11.  
  12. foreach($odpowiedzi as $odpowiedz) {
  13. echo '<input type="radio" name="odp" value="'.$odpowiedz.'" />';
  14. }
  15. }


Ale moim zdaniem warto by było przemodelować bazę na tabele w stylu: pytania, odpowiedzi, pytania_odpowiedzi(z polem czy poprawne)
Niree
No tak niekoniecznie z tym kodem.

Autor podał:
odp - Poprawna odpowiedź
zodp1, zodp2, zodp3 - Błędne odpowiedzi

Twój kod generuje 4 pola o tej samej nazwie tylko ze zmienionymi wartościami.

Nie wiem jak Autor rozpatruje, czy wartość jest prawdziwa (czy to pytanie do bazy, czy po prostu isset($_POST['odp'])) 'echo dobra odpowiedz';.
Na 5tyk
Już sobie poradziłem sam, ale zrobiłem tak samo jak untorched smile.gif

A odpowiedzi sprawdzam czy wartość wybranej odpowiedzi jest równe odp (poprawnej odpowiedzi).
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.