Zufallsspruch ausgeben, aber wie?

Boostergermany

Erfahrenes Mitglied
Ich brauchte dringend hilfe!

Wie kann ich machen dass man wenn man auf ne Seite kommt, nen Zufallsspruch angezeigt bekommt?
ich weis schon wie des mit den zahlen geht, aber kann ich des so mit sprüchen auch machen oda brauch ich da was anderes?
also es soll so sein, ich schreibe da sprüche ins script und wenn man auf die seite kommt, dann krigt man einen von denen angezeigt !
kann mir jemand helfen?

Vielen Dank im Vorraus,
ach und bitte genau erklären, ich hab da leider nicht so viel ahnung, am besten wäre ein Beispiel script!!

MFG Booster
 
PHP:
$Rand = random(0, 20);

$Sprueche = array(1 => "spruch1", 2 => "spruch2"); // in diesem fall sollten es genau 20 sein ;)

echo $Sprueche[$Rand];

bin mir net sicher ob die funktion wirklich random heißt.... mind aber so ähnlich =) sry grad keine Zeit zum nachschaun
 
Hi,

da gibt's unterschiedliche Möglichkeiten. Du könntest Deine Sprüche in eine Datenbanktabelle schreiben und mittels zufälliger Sortierung einen auslesen:

Code:
SELECT `text` FROM `sprueche` ORDER BY RAND() LIMIT 1

Oder Du packst die Texte in ein Array und wählst zufällig ein Element aus. Hier könnte [phpf]shuffle[/phpf] helfen.

LG
 
Hi,

das ist ja auch kein Muss. Du könntest Deine Sprüche auch in einer Textdatei ablegen, per [phpf]file[/phpf] in ein Array einlesen und einen der genannten Lösungsvorschläge anwenden.

Die PHP-Funktion heißt übrigens [phpf]rand[/phpf]. Min-/Maxwerte wären bei Dir 0 und Anzahl der Sprüche minus 1. Die Anzahl der Arrayelemente bekommst Du mit [phpf]count[/phpf].

LG
 
also es ist sicherlich gut erklärt, aber ich hab keine genaue ahnung von was ihr da genau redet, wärt ihr so nett es mir anhand eines oder mehreren beispielen zu erklären?
 
PHP:
// Deine Sprüche so speichern (für diese Lösung)
$SprucheArray[0] = "Spruch0";
$SprucheArray[1] = "Spruch1";
$SprucheArray[2] = "Spruch2";
$SprucheArray[3] = "Spruch3";
$SprucheArray[4] = "Spruch4";
$SprucheArray[5] = "Spruch5";
$SprucheArray[6] = "Spruch6";
$SprucheArray[7] = "Spruch7";
$SprucheArray[8] = "Spruch8";

// Die Anzahl der Einträge zählen
$Anzahl = count($SprucheArray);
$Anzahl -= 1;

// eine Zufällige Zahl zwischen 0 und $Anzahl (in diesem Fall 8) 
$Rand = rand(0, $Anzahl);

// Den Spruch mit dem Index $Rand ausgeben
echo $SprucheArray[$Rand];

So Funktioniert es

gibt auch wie erwähnt andere Möglichkeiten,

auch wie das Array gefüllt wird bleibt dir überlassen
 
Zuletzt bearbeitet:
Wenn man sie schon in einem Array hat, muss man nicht erst noch kompliziert herumrechnen, denn dafür gibt es doch schon eine Funktion...

PHP:
<?php
// Deine Sprüche so speichern (für diese Lösung)
$SprucheArray[0] = "Spruch0";
$SprucheArray[1] = "Spruch1";
$SprucheArray[2] = "Spruch2";
$SprucheArray[3] = "Spruch3";
$SprucheArray[4] = "Spruch4";
$SprucheArray[5] = "Spruch5";
$SprucheArray[6] = "Spruch6";
$SprucheArray[7] = "Spruch7";
$SprucheArray[8] = "Spruch8"; 

echo $SprucheArray[array_rand($SprucheArray, 1)];
 
Wenn man sie schon in einem Array hat, muss man nicht erst noch kompliziert herumrechnen, ...

Natürlich geht das auch, aber ich wollte einfach zeigen wie das dann im Kompletten aussieht wenn man sich die Mühe macht das ganze auszuformulieren.
Manchmal braucht man solche Funktionen in anderem Zusammenhang und kann dann sein Wissen nutzen =)

Nächstesmal schreib ich beide Lösungen hin, 1 Erklärung und 1 "Kurzform"

Trotzdem dankeschön für deinen schönen einwurf =)


@Booster: Dürften beide Funktionieren, so wie sie sind.
 
Zurück