• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP & SQL baza dancyh odczyt>sprawdzenie

Object Storage Arubacloud
0 głosów
179 wizyt
pytanie zadane 26 maja 2016 w PHP przez Headhunter Gaduła (4,450 p.)
edycja 26 maja 2016 przez Headhunter

$ask = $db->prepare("SELECT * FROM pytania ORDER BY RAND() LIMIT 3");
try{
	$ask->execute();
}catch (PDOException $e){
	echo $e->getMessage();
}

echo<<<END
<!DOCTYPE html>
<html lang="pl">
<head>
	<meta charset="utf-8">
</head>
<form action="check.php" method="POST">
END;

if($ask->rowCount() > 0)
{
	while($r = $ask->fetch(PDO::FETCH_ASSOC))
	{
		echo<<<END
			</br>
						<h4>$r[pytanie] </h4></br>	
						<input type="radio" name="odp-$r[ID]" value="A">$r[a]</input></br>
						<input type="radio" name="odp-$r[ID]" value="B">$r[b]</input></br>
						<input type="radio" name="odp-$r[ID]" value="C">$r[c]</input></br>
						<input type="radio" name="odp-$r[ID]" value="D">$r[d]</input></br>
						<input type="hidden" name="odp-$r[ID]" value="$r[poprawna]"/></br>
						</br>

						
END;
	}
} else {
	echo "Brak pytań w bazie";
}

	echo" 	</div>
		</div>
	</div>
<center><input type='submit' name='go' value='Gotowe - sprawdzam' class='btn btn-default'/>
</form>
</section>

</body>
</html>";

- jak wykonać srpawdzenie do tego? Mam w ukrytym inpucie poprawną odpowiedź ale jak to porównać rozróżniając ID bo odczytuje z bazy pytania randomowo nie po kolei i nie wszystkie tylko 20 ze 100.

 

Proszę o jakieś konkrety nakierujcie mnie jakoś... nie daję sobie z tym rady nie wiem jak mam to zrobić... :(

komentarz 26 maja 2016 przez niezalogowany
Bo wszystkie inputy mają ten sam parametr name - dlatego się odznacza.

1 odpowiedź

0 głosów
odpowiedź 26 maja 2016 przez Comandeer Guru (602,340 p.)

Tak jak proponowałem w innym temacie:

<input name="pytanie[<?=$id;?>]" value="odpowiedź">

W tym momencie w PHP dostaniesz tablicę $_POST['pytanie'] o strukturze:

[
    1 => 'A',
    2 => 'B'
    // itd
]

 

komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
Właśnie nie ogarniam tego... co dalej a o co chodzi z name="pytanie[<?=$id;?>]" ?

Jak to dalej porównać z tą poprawną :'( nie mogę tego ogarnąć
komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
Zapiszesz mi to jakoś?
komentarz 26 maja 2016 przez Comandeer Guru (602,340 p.)
<input type="radio" name="pytanie[$r[ID]]" value="A">$r[a]</input></br>
<input type="radio" name="pytanie[$r[ID]]" value="B">$r[b]</input></br>
<input type="radio" name="pytanie[$r[ID]]" value="C">$r[c]</input></br>
<input type="radio" name="pytanie[$r[ID]]" value="D">$r[d]</input></br>

I zrób sobie później var_dump( $_POST['pytanie'] ); i zobacz ,co dostajesz.

komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
A pętla foreach ?

Normalnie foreach (tablica post jakaś zmienna ) i odczytywać i porywywać ?
komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
Krzaczy mi jeszcze litery typu ą, ę a tworząc baze na xampie w kolumnach zaznaczałem utf-polish_ci :/
komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
var_dump zwraca mi wszystkie odp :/

a jak zrobić tak jak pisałeś w innym temacie żeby mieć indeks id a wartość odp ?

ii mógłbyś napisać mi jak to wyciągnąć w foreach?
komentarz 26 maja 2016 przez Comandeer Guru (602,340 p.)

No normalnie...

foreach( $_POST['pytanie'] as $id => $odp) {
    echo 'Pytanie '. $id . ': ' . $odp . '<br>' ;
}

 

komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
<b>Notice</b>:  Undefined variable: id in <b>C:\xampp\htdocs\pytania.php</b> on line <b>31</b><br />

<input type="radio" name="odp[<$r=$id;$r>]" value="A">$r[a]</input></br>

 

 

Błędy dalej są.. już nie wiem

 

komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)

próbowałem tak:


						<h4>$r[pytanie] </h4></br>	
						<input type="radio" name="odp[$r[ID]]" value="A">$r[a]</input></br>
						<input type="radio" name="odp[$r[ID]]" value="B">$r[b]</input></br>
						<input type="radio" name="odp[$r[ID]]" value="C">$r[c]</input></br>
						<input type="radio" name="odp[$r[ID]]" value="D">$r[d]</input></br>
						<input type="hidden" name="odp[$r[poprawna]]" value="E"/></br>
						</br>



<?php
$score=0;
foreach( $_POST['odp'] as $odp => $r) {
    echo 'Pytanie '. $odp . ': ' . $r . '<br>' ;
	if ($odp == $_POST['poprawna']){$score=$score + 1;}
	
}

		echo "<center><p>Twój wynik:<br> $score </p></center>";		
?>

 

komentarz 26 maja 2016 przez Headhunter Gaduła (4,450 p.)
Dalej to nie to :(

Podobne pytania

0 głosów
2 odpowiedzi 209 wizyt
pytanie zadane 21 kwietnia 2015 w PHP przez Damianexo Obywatel (1,710 p.)
0 głosów
1 odpowiedź 106 wizyt
pytanie zadane 14 sierpnia 2019 w PHP przez gildarts Nowicjusz (160 p.)
+1 głos
3 odpowiedzi 222 wizyt
pytanie zadane 6 marca 2021 w PHP przez Metarinda Użytkownik (740 p.)

92,632 zapytań

141,500 odpowiedzi

319,879 komentarzy

62,013 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...