Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sprawdzanie czy dana wartość jest już w bazie
Forum PHP.pl > Forum > Przedszkole
Lethys
Tworzę skrypt losowania.

Mam kolumnę lista_uczestnikow gdzie znajduje się lista osób biorących udział w losowaniu oraz kolumnę wygrani gdzie są zwycięzcy z tego losowania. Wygrać w danym losowaniu może kilka osób.

Chcę zrobić sprawdzenie czy przypadkiem dana osoba nie wygrała już tego losowania, żeby nie było sytuacji, że wygrywa po raz drugi.

  1.  
  2. $wygrani = $draw[wygrani];
  3.  
  4. //sprawdzam czy wygrany jest nowym wylosowanym
  5. $czy = strpos($wygrani, "$losowanie");
  6.  
  7. while($czy == FALSE)
  8. {
  9. //jeżeli wygrała nowa osoba nadpisuje ją do zmiennej wprowadzanej do bazy
  10. $wygral = $losowanie;
  11. }


Ale mam problem bo pętla się zacina a pętla while nie działa else.

Jak mogę zrobić takie sprawdzenie czy dana osobą już jest wygranym a jeżeli jest to skrypt losuje dalej?
robertpiaty
W Twoim przypadku pętla nie wykona się ani razu lub będzie wykonywać się nieskończoną ilość razy.

Spróbuj sobie takie zapytanie:
  1. SELECT lista_uczestnikow FROM tbl ORDER BY RAND() LIMIT 1;


W limit podajesz ile osób chcesz wylosować. W where możesz zawsze dodać kogo nie chcesz wylosować.
Lethys
Wolałbym zrobić sprawdzenie czy już taki user był wylosowany na poziomie PHP, bo w bazie mam wszystko zapisane w jednej komórce (longtext), a skryptem już sobie ładnie wyodrębniam uczestników.

Tylko nie wiem jak do tego podejść, jakiej pętli użyć itp.

Tej samej techniki będę musiał użyć przy generowaniu losowego linku np. (Hd2UY, Pd38D). Będę musiał sprawdzać czy dane linki już nie istnieją.
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.