Ben sınırsız satır ile sql bir sonuç almak istiyorum, ben satır sayısını bilmeniz gerekir çünkü benim sql tablosunda limit
kullanmak istemiyorum. Ama ben sadece echo
, örneğin 30-60 satır istiyorum.
Ben php kullanmak.
http://php.net/manual/en/function.mysql-data-seek.php
mysql_data_seek()
Belirtilen satır sayısına işaret Belirtilen sonuç tanımlayıcı ile ilişkili MySQL sonucunun içsel satır hareket ettirir. Böylemysql_fetch_assoc()
, bu satır dönmek gibi bir MySQL getirmesi işlevi sonraki çağrı.
mysql_data_seek($res, 30);
for ($i = 0; $i < 30; ++$i) {
$row = mysql_fetch_assoc($res);
var_dump($row);
}
İlk olarak, bu ifadeyi çalıştırın:
SELECT SQL_CALC_FOUND_ROWS
*
FROM mytable
ORDER BY
mycol
LIMIT 30, 30
, Satırlarını ve bir diziye kaydedebilirsiniz.
Hemen ardından, bu ifadeyi çalıştırın:
SELECT FOUND_ROWS()
Size hiçbir LIMIT
fıkra olarak önceki deyim tarafından döndürülen olacağını toplam satır sayısını gösterir hangi.
Ben Quassnoi bu gelir inanıyoruz:
SELECT SQL_CALC_FOUND_ROWS * FROM accounts ORDER BY accountID LIMIT 30
ve sonra satır sayısını bulmak için bu select deyimi çalıştırın:
select found_rows();
Bunu performansı bozar tabii, çünkü * kullanarak herhangi bir sorgu yapmak gerekiyordu. İhtiyacınız sütunların adları kullanın. Ben en verimli çünkü bu en iyi yol olacağını düşünüyorum. Sadece bir sayı ve 30 satırları gerekirse tüm tablo dönmek için gerek yok.