php olsun, rasgele kayıtları ve geri düğmesi

2 Cevap php

Sitemin oyunları, milletler, oyun senaryoları, vb dolu bir kütüphanesi var

library.php a type=___ verilir ve bir id=___

örneğin, library.php?type=scenario&id=ABCD001

library.php bir oturum değişkeni ve yüklere id kaydeder bir type için uygun bulunmaktadır

Tüm bu sadece züppe çalışır. Şimdi, benim kullanıcılara rastgele bir senaryo yukarı çekerek seçeneği vermek istedim. Bunu yapmak için, ben verilirse library.php?type=scenario&id=random içeren böyle bir alternatif sorgusu çalıştırmak bilir (dahil) lib-scenario.php içindeki mantığı özel bir id eklendi Gerçek id için rasgele bir kayıt yerine

Bu aynı zamanda sadece züppe ... unless birisi Random Scenario düğmesine arka arkaya iki kez + vurur çalışır ve karar verir the previous random scenario was way cooler, I want to go back buna.

Http adresi her zaman olduğundan directory/library.php?type=scenario&id=random olursa olsun Random Scenario, en kısa sürede size geri tıklama gibi Eğer ziyaret alternatif bir adresi ile son sayfaya götürülürsünüz tıklayın kaç kez.

Eğer Home sayfada başlar Yani, ve ardından 34 biri size ne istediğini karar ve tıklatın BACK, sen olacak, Random Scenario 35 kez vurdu Home sayfaya geri koymak.

Bu ben beklenen bir sorun değildi itiraf etmeliyim. Benim test biri rastgele senaryo akışında-yedeklemek ve burada oldukları dürtü için ilk oldu.

Nasıl benim script yedekleme işlevsellik ekleyebilirsiniz?

2 Cevap

'Random Senaryo' düğmesine yapmak basit bir gerçek (ama rastgele) senaryo id bağlantı. Muhtemelen tüm senaryoların id almak için bir SQL sorgusu ile bu inşa etmek gerekir.

$result = mysql_query("SELECT id FROM scenarios");
while ($row = mysql_fetch_row($result)) {
    $ids[] = $row[0];
}
$randomid = array_rand($ids);

Düğme:

<a href="directory/library.php?type=scenario&id=<?php echo $randomid; ?>Random Scenario</a>

Lütfen senaryo id tüm ardışık sayılar ise sadece yerine kullanabilirsiniz:

$randomid = rand($min, $max);

Eğer, yani senaryo için kanonik url yönlendirerek bu sorunu çözebilirsiniz: id = rastgele id = A92831 için yönlendirmeleri ya da her neyse seçildi. Nihai url yerine id = rastgele url yerine, tarihin saklanır.