Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomoc w utworzeniu zapytania
foxbond
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 12
Dołączył: 20.12.2009
Skąd: Siedlce

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


Kod
|------
|playerItemId|itemId|playerId|playerItemBag|playerItemPlace|playerItemStack
|------
|1|1|1|1|16|1
|2|2|1|1|35|1
|3|3|1|1|32|1
|4|2|1|2|1|1
|5|3|1|3|9|1
|6|1|1|2|8|1
|7|1|1|2|14|1
|8|3|1|1|1|1
|9|3|1|2|10|1
|11|1|1|1|9|1
|12|1|1|1|0|1
|13|1|1|1|4|1

Zakres playerItemPlace 0-47


Chcę się dowiedzieć jaka jest najmniejsza wolna wartość playerItemPlace dla danego playerItemBag

Czyli dla playerItemBag=1 jest to 2, dla playerItemBag=2 i playerItemBag=3 jest to 0





Tu jest obrazek bo słabo widac na tekstowym przykładzie:
(IMG:http://borderless-engine.tk/mediawiki/images/e/ea/Db_toforum.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
foxbond
post
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 12
Dołączył: 20.12.2009
Skąd: Siedlce

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


Można to zrobić tak:
  1.  
  2. for ($i=0;$i<47;$i++){
  3. $q = query("SELECT COUNT(*) FROM playerItems WHERE playerItemBag=1 AND playerID=1 AND playerItemPlace=".$i);
  4. if ($q == 0){
  5. $min = $i;
  6. break;
  7. }
  8.  
  9. }


Jednak to wykona 48 razy zapytanie do bazy....

EDIT:
zaraz wypróbuję twój sposób, dzięki za próbę pomocy

EDIT:
WIELKIE dzięki, działa wyśmienicie

EDIT:
A jednak w niektórych wypadkach jest błąd. Nie wiem dlaczego, możliwe, że błąd jest w innym miejscu.


Ten post edytował foxbond 16.02.2013, 22:31:52
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: 17.10.2025 - 04:04