Bei Seitenaufruf, bzw refresh Abfrage ändern

janosh75

Mitglied
Ich habe ein kleines Problem: Ich habe auf meiner Seite eine SQL Abfrage (....WHERE feld=$a..... Ich hätte es gerne so, dass die variabel $a sich bei jedem Seitenaufruf bzw Aktualisieren ändert. Wie gehe ich da vor?

Danke schonmal,
Jan
 
Hi Jan,

soll denn $a Zahlen oder Buchstaben enthalten oder spezielle Namen?
Auf jeden Fall solltest du mal nach einem "Zufallsgenerator" suchen, da gibt es viele Beispiele.
 
Willst du sowas wie ein Zufallsbild?
Jenachdem was du in $a schreiben willst. Mit rand( ) könntest du eine Zufallszahl erstellen. Oder willst du Text? Oder was genau? :)
 
Hallo,

was genau soll denn in der Variable $a drin stehen?

Wenn das einfach eine ganz zufällige Zahl ist, dann könntest du das z.B. so machen:
PHP:
$a = rand(1, 100); //min, max ; siehe PHP-Dokumentation für weiteres
//dann die Query:
$query = "SELECT * FROM tabelle LIMIT " . $a . ", 1"; //so wird der $a-te Eintrag selected und du hast einen zufälligen Datensatz

Aber wenn das irgendeine Zeichenfolge ist, dann musst du schreiben, wie genau die ist, und dann noch, wie genau sich die Variable $a immer ändern soll, also zufällig oder sonst irgendwas ;)

Edit: War wohl etwas zu langsam :rolleyes:

MfG
Fabsch
 
Danke für die schnellen Antworten. in $a sollen zahlen stehen, die sich auf unterkathegorien der Seite beziehen. (insgesamt 5 Stück - also 1bis5).
 
Wenn sich $a jedoch aus nicht aufeinanderfolgenden Zahlen (zb 1,4,6,13,15) bilden soll. Wie gehe ich dann vor? rand bezieht sich ja anscheinend nur auf min & max, oder?
 
Hallo,

dann könntest du dir ein Array anlegen, alle dieser Zahlen auslesen, und für jede Zahl ein array_push in das Array und dann hast du in dem Array als Key aufeinanderfolgende Zahlen und kannst mit rand(0, count($arrayName)) ein zufälliges auswählen ;)

Beispiel:
PHP:
$arrayName = array();
//hier die Zahlen z.B. aus einer MySQL-Datenbank in das Array pushen..
$sql = mysql_query("SELECT * FROM tabelle WHERE spalte = 'select'"); //eben hier das WHERE rein, welche Datensätze du haben willst
//alle durchgehen und in Array schreiben..
while ($daten = mysql_fetch_assoc($sql))
{
      array_push($arrayName, $daten['id']);
}
//dann hier zufälligen Wert auswählen..
$selectedIndex = rand(0, count($arrayName));
//und so kannst du auf die id des zufällig ausgewählten Datensatzes zugreifen:
$randID = $arrayName[$selectedIndex];

MfG
Fabsch
 
Also bei 5 Zahlen muss man nicht wirklich eine Datenbank verwenden. Sowas würde ich in eine config-Datei Speichern.*

Das sollte dann funktionieren:
PHP:
$numbers = array(   '1' => '1',
                    '2' => '4',
                    '3' => '6',
                    '4' => '13',
                    '5' => '15'
                ); // In jeder Zeile die zweite Zahl ändern
echo $numbers[rand( 1, 5 )];

//edit: * Es sei denn die Zahlen sollen sich öfter ändern, was hier aber nicht zu lesen ist.
 
Zuletzt bearbeitet:
Zurück