![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 23.03.2004 Skąd: Mrągowo Ostrzeżenie: (0%) ![]() ![]() |
Witam!!
Mam problemik, mianowicie nie mam pomysłu jak pozbyć sie duplikatów losowanych za pomoca funkcji rand () z bazy. Chcem wybierac losowo pytania z bazy i nawet to robi ale pytania czasami sie powtarzaja (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . Czy ma ktoś pomysł jak to wykonać. Znajomy mi doradził zeby wylosowane puytanei jakoś trzymac w tablicy tymczasowej ale nie zabardzo wiem jak to zrobić. [php:1:050845fe6a]<?php //funkcja zwracajaca ilosc pytan w tabeli function ile() { { $wynik = mysql_query ("SELECT id_pytanie FROM pytanie ;"); $ile = mysql_num_rows($wynik); } return $ile; } $max=ile(); $id_pytanie=rand(1,$max); // i tu sobie przedzial robie w ktorym losowane sa pytania i tu mam pytanie jak sie pozbyc duplikatów pytan $zapytanie = 'SELECT tresc FROM pytanie WHERE id_pytanie="'.$id_pytanie.'" '; $wynik = mysql_query($zapytanie); if (mysql_num_rows($wynik) == 1) { $wiersz = mysql_fetch_array($wynik); //formularz wyswietlajacy // a tu sa pobierane odpowiedzi w postaci radio buttonow $zapytanie = 'SELECT id_odpowiedz, tresc FROM odpowiedz WHERE id_pytanie="'.$id_pytanie.'"'; $wynik2 = mysql_query($zapytanie); for($i=0; $i<mysql_num_rows($wynik2); $i++) { $wiersz2 = mysql_fetch_array($wynik2); echo ' <tr>'; echo ' <td><input type="radio" name="odpowiedz" value="'.stripslashes($wiersz2['id_odpowiedz']).'"></td>'; echo ' <td>'.stripslashes($wiersz2['tresc']).'</td>'; echo ' </tr>'; } //itd........ ?>[/php:1:050845fe6a] Dzieki za pomoc :] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 19.02.2004 Skąd: Piaseczno Ostrzeżenie: (0%) ![]() ![]() |
hmm to raczej nie to;) bo powiinen losowac przynajmnie 1000razy na sekunde...
UPDATE a dopisałes ta linię która napisałem w updatcie poprzednigo posta? a wstaw tam gdzies po losowaniu [php:1:97c3623f6f]<?php print_r($_SESSION['used']); ?>[/php:1:97c3623f6f]i zobacz co dostaniesz z kazdym nastepnym pytaniem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 02:41 |