Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt do losowania bez powtórzeń -jak
malinowy
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.12.2013

Ostrzeżenie: (0%)
-----


witam,

jestem początkujący w PHP, natomiast mam doswiadcenie w innych językach programowania,
także nie jestem pewien, czy będę się posługiwał językiem PHP-owym.

Potrzebuję napisać funkcję/procedurę, która będzie przyjmowała jeden parametr - nr_osoby.

Skrpt mawylosowaćz bazy dowolną osobę, która jeszcze nie była wylosowana i przy tej osobie zapisać, że jest już wylosowana.

Czyli logika miałaby być taka (trochę po Oracle-owemu);

select nr_osoby from osoby
into v_wylosowana_osoba
where wylosowany='N'
and nr_osoby != :parametr_nr_osoby
/* to po mysql-owemu*/
ORDER BY RAND()
LIMIT 1 ;

update osoby set wylosowa='Y where nr_osoby=v_wylosowana_osoba;
commit;

if v_wylosowana_osoba not null then
return v_wylosowana_osoba ;
else
return "już wszyscy wylosowani";
end if;

Proszę o pomoc.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
malinowy
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.12.2013

Ostrzeżenie: (0%)
-----


wydaje mi się, że w MySQL mam to obsłużone, bo

  1. SELECT nr FROM g2013_osoby WHERE losowal='N' AND nr != '1' ORDER BY rand() LIMIT 1"


zwraca mi jedną wartość, zawsze inną, zgodnie z zalożeniem.


Ale jak to ubiorę w

  1. $q_wylosowana_osoba = "SELECT nr FROM g2013_osoby WHERE losowal='N' and nr != '".$_GET['p1']."' ORDER BY rand() LIMIT 1";
  2. $wylosowana_osoba = mysql_query($q_wylosowana_osoba, $conn) or die(mysql_error());
  3. $r_wylosowana_osoba = mysql_fetch_assoc($wylosowana_osoba);
  4. $totalRows_osoby = mysql_num_rows($osoby);
  5. //$row_ososby2 = mysql_fetch_assoc($ososby2);
  6. echo "<div class=\"alert alert-success\">".$r_wylosowana_osob['nr']." </div>";


to mam błąd

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in /home/malin/domains/malin.pl/public_html/gwiazdka2013/load.php on line 15

O co chodzi?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 11:11