Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Zapytanie z "rand"
CryWolf
post 3.02.2009, 18:23:40
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


cześć, to przykład bazy

  1. <?php
  2. ID    NAZWA   KATEGORIA   LOOT
  3. 1      nazwa1     kat1             1
  4. 2      nazwa2     kat2             1
  5. 3      nazwa3     kat3             1
  6. 4      nazwa4     kat4             2
  7. 5      nazwa5     kat5             2
  8. 6      nazwa6     kat6             3
  9. 7      nazwa7     kat7             2
  10. 8      nazwa8     kat8             1
  11. ?>


Chcę zrobić tak aby wyrzuciło ID where LOOT=1 i spośród tych tych wyszukanych rekordów których ID to kolejno w tym przypadku 1, 2, 3, 8 wybrało jedno ID np 3 i przypisało $wybraneid = 3; Bardzo proszę o pomoc i pozdrawiam

Ten post edytował CryWolf 3.02.2009, 18:24:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
piotrooo89
post 3.02.2009, 18:25:54
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a ID ma zwracać losowo czy jak?

//EDIT

dopiero teraz zauważyłem że masz rand w temacie, sorki:

  1. SELECT id FROM tabela WHERE LOOT=1 ORDER BY RAND() LIMIT 1 ;


Ten post edytował piotrooo89 3.02.2009, 18:35:10


--------------------
Go to the top of the page
+Quote Post
kefirek
post 3.02.2009, 18:39:18
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. <?php
  2. $wybraneid = mysql_result(mysql_query("SELECT id FROM test  WHERE LOOT='1' ORDER BY RAND() LIMIT 1"), 0);
  3. echo $wybraneid;
  4. ?>


Ten post edytował kefirek 3.02.2009, 18:40:07
Go to the top of the page
+Quote Post
CryWolf
post 4.02.2009, 11:16:48
Post #4





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


ok dzięki za pomoc ;P

Cytat(kefirek @ 3.02.2009, 18:39:18 ) *
  1. <?php
  2. $wybraneid = mysql_result(mysql_query("SELECT id FROM test  WHERE LOOT='1' ORDER BY RAND() LIMIT 1"), 0);
  3. echo $wybraneid;
  4. ?>


A jak zrobić takie coś "WHERE LOOT='1' ORDER BY RAND() LIMIT 1" i gdzie to ID nie jest mniejsze niż 10 ani większe 20 (w ostateczności jeżeli się da to też oprócz tamtego to jeszcze tak: i nie jest mniejsze niż 30 ani większe 35. pozdrawiam

Ten post edytował CryWolf 4.02.2009, 11:18:28
Go to the top of the page
+Quote Post
webdevil
post 4.02.2009, 11:18:57
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 18
Dołączył: 2.02.2009

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


Cytat(CryWolf @ 4.02.2009, 11:16:48 ) *
ok dzięki za pomoc ;P



A jak zrobić takie coś "WHERE LOOT='1' ORDER BY RAND() LIMIT 1" i gdzie to ID nie jest mniejsze niż 10 ani większe 20. pozdrawiam


WHERE LOOT='1' AND id>=10 AND id<=20 ORDER BY RAND() LIMIT 1
Go to the top of the page
+Quote Post
CryWolf
post 4.02.2009, 12:35:09
Post #6





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


a może być coś w stylu

WHERE LOOT='1' AND id>=10 AND id<=20 AND id>=30 AND id<=40 ORDER BY RAND() LIMIT 1

że pomiędzy 10 i 20 oraz 30 i 40?
Go to the top of the page
+Quote Post
nospor
post 4.02.2009, 12:45:20
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




to zamiast masy AND uzyj też OR
Pomysl troche a nie walisz na chybil trafil


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 23:26