Ich versuche, eine Zeile zu einer Zeit bei jeder Ladung zu holen, versuchte ich, Zufallsfunktion in mysql (rand()), aber seine Reihe Zeile zufällig nicht nacheinander zu verwenden .Nur Zeile zufällig in aufsteigender Reihenfolge ohne Wiederholung in Mysql
meine Tabelle ist unten angegeben Angenommen:
<table border="1">
<tr>
<td>
Name
</td>
</tr>
<tr><td>John A</td></tr>
<tr><td>John C</td></tr>
<tr><td>John D</td></tr>
<tr><td>John T</td></tr>
<tr><td>John X</td></tr>
</table>
ich unter PHP-Code verwendet hatte;
$query = mysql_query("SELECT name FROM `student` WHERE `status`='1' ORDER BY RAND() LIMIT 1") or die ('Query is invalid: ' . mysql_error());
while ($row = mysql_fetch_array($query))
{
echo $name;
}
Also jedes Mal, wenn die Seiten aktualisiert ich andere Zeile, aber es bekommen manchmal wiederholt.
Ex: 1 Aktualisierung: John D
2 Aktualisierung: John X
3 Aktualisierung: John A
4 refresh: John D
So ist die Ausgabe ich will, ist, dass es sollte Reihe in Reihenfolge holen, ohne anyrow mehrmals zu wiederholen;
1 Refresh: John A
2 Refresh: John C
3 Refresh: John D
4 refresh: John T
5 refresh: John X
6 Aktualisieren: John A
7 Aktualisieren: John C
8 Aktualisierung: John D
9 Refresh: John T
10 refresh: John X
Das erwartete Ergebnis ist einfach Bestellung (Paging mit Seitengröße auf 1 gesetzt). Warum verwenden Sie eine zufällige Auswahl, wenn Sie einfache Bestellung wünschen? Lassen Sie mich klarstellen: Wenn Datensätze in einer vorgegebenen Reihenfolge erscheinen, ist die Auswahl nicht mehr zufällig. Deine zwei Kriterien widersprechen sich. – Shadow
Wenn ich die Reihenfolge auf ASC/DESC einstelle, wird dieselbe Zeile bei jeder Seitenaktualisierung abgerufen. –
Weil Sie nicht speichern, welche Zeile zuvor angezeigt wurde. Sie müssen das in Ihrer Sitzung speichern und das nächste anzeigen, indem Sie die Klausel 'limit $ x, 1' in Ihrem Browser verwenden. – Shadow