Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Utrudnienie radio (zmiana wartosci value) - nowe wartosci
Forum PHP.pl > Forum > Przedszkole
SkuterPL
Witam,
Udalo mi sie w koncu skonczyc skrypt, lecz teraz chcialbym go troche utrudnic.
Aktualny kod

  1. foreach($result2 as $row)
  2. {
  3. $odpowiedz = $row['Tresc_odpowiedzi'];
  4. $value= $row['ID'];
  5. echo "<p><input type=\"radio\" name=\"odp\" value=\"$value\" />$odpowiedz</p>";
  6. } // pobranie wartosci ID pytania z bazy i wpisanie go jako value
  7.  
  8.  
  9. $zapytanie3 = $pdo->prepare('SELECT * FROM odpowiedzi WHERE ID = :ID_odpowiedzi'); //pobranie wedlud kategorii zdefiniowanej w 'bindValue'
  10. $zapytanie3 -> bindValue(':ID_odpowiedzi',$_POST['odp'], PDO::PARAM_INT);
  11. $zapytanie3 -> execute();
  12. $result3 = $zapytanie3 -> fetchAll(PDO::FETCH_ASSOC);
  13. //pobranie danej odpowiedzi, aby sprawdzic czy prawidlowa


Teraz wsadzam w formularz radio 4 kolejne ID z bazy i przypisuje je do value w radio, a chcialbym, aby wartosc value dla radio byl 1,2,3,4 i potem jakos przekazac, ze 1= $row['ID'] 1 wyswietlonej odpowiedzi

i potem pod 1 jakbym w zapytaniu sprawdzal, to bedzie szukal odpowiedzi o ID z $row['ID'].

Mam nadzieje, ze dobrze wyjasnilem, czy ma ktos jakis pomysl jak to mozna jakos zrobic? Bo ja probowalem kilka sposobow i nie dzialalo.

Szukalem tez, aby ukryc w html VALUE, ale tego chyba sie nie da.

Wiec czekam na wasze pomysly smile.gif
Aqu
W html oczywiście nie da się ukryć value. wink.gif Ale w jakim celu chcesz, to utrudnić? Bo nie do końca rozumiem.
Ale możesz np. pomnożyć wszystkie ID przez jakąś liczbę, base_64, po udzieleniu odpowiedzi odkodowujesz base_64 i dzielisz przez tamtą liczbę. wink.gif
SkuterPL
To akurat nic nie da, bo akurat odpowiedz prawidlowa to zawsze 1 najnizsza wartosc ID, wiec jakby ktos to sprawdzil, to odpowie na wszystko prawidlowo.
Bo w bazie mam
ODP:
ID 1: A (prawidlowa)
ID 2: B
ID 3: C
ID 4: D
ID 5: A (prawidlowa)
ID 6: B
ID 7: C
ID 8: D

i tak wystarczy wiedziec, ze n+4 to odpowiedz prawidlowa smile.gif
kallosz
wyświetlaj w losowej kolejności poza tym możesz zmienić indexy pobrane dla Twoich value i później je wyciągać po udzieleniu odpowiedzi.
SkuterPL
one sa wyswietlone w losowej kolejnosci wedlug funkcji shuffle.
Ale jak to zmienic i pozniej wyciagnac, troche Cie nie rozumiem?
kallosz
mozesz zapisac np w sesji losowo wygenerowane indexy dla 4 odpowiedzi i przypisać je do konkretnych ID których dotyczy odpowiedź.
Po wykonaniu post'a wyciągasz z sesji losowe indexy i należące do nich ID-ki z bazy.
SkuterPL
podobnie wczesniej pkombinowalem, ale cos nie do kona wychodzi.

KOD
  1. foreach($result2 as $row)
  2. {
  3. $odpowiedz = $row['Tresc_odpowiedzi'];
  4. $value= $row['ID'];
  5. $licznik_odp++;
  6. $tablica_odp[$licznik_odp] = $value;
  7. $_SESSION['tablica_odp'] = $tablica_odp;
  8. $sesja_odp = $_SESSION['tablica_odp'];
  9.  
  10. print_r($tablica_odp);
  11. echo "<p><input type=\"radio\" name=\"odp\" value=\"$licznik_odp\" id=\"$licznik_odp\" /><label for=\"$licznik_odp\">$odpowiedz</label></p>";
  12. }


no i zapytanie
  1. $zapytanie3 = $pdo->prepare('SELECT * FROM odpowiedzi WHERE ID = :ID_odpowiedzi'); //pobranie wedlud kategorii zdefiniowanej w 'bindValue'
  2. $zapytanie3 -> bindValue(':ID_odpowiedzi',$sesja_odp[$_POST['odp']], PDO::PARAM_INT);
  3. $zapytanie3 -> execute();


W teorii wedlug mnie powinno, chodzic, a tak nie jest :/

wpadlem troche na lepszy pomysl, zahashowac ten ID biggrin.gif

  1. $licznik_odp = hash( 'sha256', $value.'hyuas');

dajemy cos takiego podstawiamy to pod RADIO, ale potem jak w zapytaniu sprawdzic czy $_POST['odp'] to wlasciwe ID?

Posiedzialem i rozwiazalem sam. Mozna zamknac temat
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.