ayeo
16.04.2009, 17:56:34
Witam!
Mam zapytanie jakieś, które określa sortowanie i inne warunki. Powiedzmy, że zwraca ono 1000 wyników. Mam też id jakiegoś rekordu. Jak mogę sprytnie się dowiedzieć na której stronie, przy limicie np po 10 jest mój rekord?
Pozdrawiam!
wookieb
16.04.2009, 17:59:11
http://nospor.pl/mysql-faq-n25.html#faq-8Niestety jak widzisz nie jest to super wydajne. Lepsze będzie do tego celu napisanie funkcji w mysql.
ayeo
16.04.2009, 18:08:59
No ten sposób to znam. Jednak nie jest idealne jak już wspominałeś. Dzięki za wskazówkę

Pozdrawiam!
Spawnm
16.04.2009, 18:13:38
$id podziel na 10 i zaokrąglij w górę
wookieb
16.04.2009, 18:17:07
W przypadku rekordów gdzie id nie są w jednym ciągu nic to nie da. Tym bardziej jak doda jeszcze jakiś warunek którego nie spełnia każdy rekord.
Spawnm
16.04.2009, 18:20:11
no to select id where id<obecne_id
num_rows / 10 i w górę
ayeo
16.04.2009, 18:26:18
Tak, ale ja nie sortuję po id przecież
Spawnm
16.04.2009, 18:31:13
hmmm no to te posortowane wyniki daj do tablicy, tablicę w
array_chunk" title="Zobacz w manualu PHP" target="_manual po 10 i zobacz w którym kawałku / na której stronie
będzie twoje id
ayeo
16.04.2009, 18:53:55
Hehe, chodziło mi o jakiś dobry patent z poziomu MYSQL, ale bez iteracji całej tabeli się nie da.
Pozdrawiam!