PHP kullanarak bir SQL deyiminin sonucu göster parçaları

3 Cevap sql

I have an SQL query which returns a set of data (around 40-50 tuples). I would like to display the results 5 at a time on an HTML page using PHP.

Zaten doğru SELECT deyimi var başardı, ama "daha" düğmesini kullanarak 5 ile sonuçlar 5 görüntülemek için sorunlar yaşıyorum.

Can you please help? Note that every time i call the query, the data is being randomized, so it is not possible to set limits and call the query again. I have to find the method to store the results somewhere, and then show them 5 by 5.

3 Cevap

bu nedenle sınırlarını belirlemek ve tekrar sorgu çağırmak mümkün değildir.

Eğer aynı tohum kullanırsanız Evet öyle.

Örneğin

SELECT column FROM table WHERE condition ORDER BY RANDOM(seed) LIMIT start, num

Sen bir kez PHP tohum üretmek ve (GET ile pass veya bir oturumda var içine kaydedin) sonraki aramalar için yeniden

Bunu yapmak için muhtemelen en kolay yolu oturumları kullanıyor:

session_start()
[..] // Your query stuff..
$ids = array();
while(($row = mysql_fetch_assoc($result)) !== false)
{
   $ids[] = $row['id'];
   // probably output
}
$SESSION['ids'] = $ids;

Fikir satır geri sırayla sorgu kimliklerini saklamak için. Bir kullanıcı "daha" tıkladığında sadece oturumda diziden sonraki 5 kimlikleri alıp satırları almak için SQL-sorgu oluşturmak.

Umut olur.

Cheers,
Fabian

Sen aslında sorguda tüm verileri yüklemek ve DIVs örnekler ve ilk div için bir yerde saklayabilirsiniz, size 5 satır göstermek ve 5 satır, her içeren divs kalanı için başlangıçta bunları gizlemek Daha fazla bağlantı tıklandığında ve tekrar onlara göstermek. Aslında, siz de aynı amaç için yazılmış this script bir fikir edinebilirsiniz.

<div id="div_1">
 5 rows here, this is shown by default
</div>

<div id="div_2">
 5 rows here, this is hidden initially
</div>

<div id="div_3">
 5 rows here, this is hidden initially
</div>
and so on.