Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] losowanie niewykonanych zadań
Zmorcia
post
Post #1





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

Ostrzeżenie: (20%)
X----


Witam, chcę zrobić coś takiego:

mam tabele z użytkownikami:

id | login | pass | email

tabelę z zadaniami..

id | name | desc

oraz tabele z wykonanymi zadaniami...

id | job_id

i chcę wylosować z tabeli z zadaniami, jedno losowe zadanie, ale w tym problem taki, żebyby nie losowało już ukończonych zadań (tych które są w tabeli z ukończonymi) tylko takie którego jeszcze nie zrobiono...

Pomoże ktoś? Za pomoc dam Plusika (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
lukaszgolder
post
Post #2





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Dołączył: 2.04.2008
Skąd: z Zabrza

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


  1. <?php
  2. mysql_query("SELECT * FROM `zadania` WHERE id NOT IN (SELECT job_id FROM `wykonane_zadania`) ORDER BY RAND() LIMIT 1);
  3. ?>

Tak trochę z głowy pisałem, więc sprawdź czy działa i ew. napisz to poprawię.

Ten post edytował lukaszgolder 15.11.2008, 19:21:55
Go to the top of the page
+Quote Post
Zmorcia
post
Post #3





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

Ostrzeżenie: (20%)
X----


juz testuje, czekajcie czwilkę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

// co źle? bo losuje mi nawet, te które są w bazie

  1. <?php
  2. $this->getSound = mysql_fetch_array(mysql_query("SELECT * FROM ".PREFIKS."songs WHERE song_id NOT IN (SELECT reply_song FROM ".PREFIKS."odpowiedzi WHERE reply_user = '".$userRow['user_name']."') ORDER BY RAND() LIMIT 1"));
  3. ?>


Ten post edytował Zmorcia 15.11.2008, 19:29:46
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


a możet ak (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) ?

  1. SELECT * FROM `zadania` a LEFT JOIN `wykonane_zadania` b ON (a.id = b.id) WHERE b.id IS NULL ORDER BY RAND() LIMIT 1 ;
Go to the top of the page
+Quote Post

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: 4.10.2025 - 23:50