2012-04-10 3 views
0

Was ich tun möchte, ist 5 zufällige Bilder mit Text aus einer bestimmten Anzahl anzuzeigen, ohne zu wiederholen. Die Links zu Bildern und Texten sind in der Datenbank zu speichern. Das Problem, auf das ich gestoßen bin, ist, dass ich jeden ID-Wert in das einzelne PHP-Array eingeben muss, um die IDs zu mischen und zufällige 5 auszuwählen, aber ich vermeide es, sie zu einem einzigen Array zu kombinieren, wenn ich 3 Zeilen habe mit 3 Arrays. PHP MySQL Tabelle vereint Werte aus Zeilen in einer einzigen Tabelle

Dies ist ein Beispiel eines ausfallenden Code mit 3 Reihen mit 1,2,4 ID:

Array ([0] => 1 [1] =>) Array ([0] => 2 [1] =>) Array ([0] => 4 [1] =>) 

Dies ist die gewünschte Ausgabe::

function getAll() { 
$query = mysql_query("SELECT * FROM ads") or die(mysql_error()); 
$myarray = array(); 
    while ($numbers = mysql_fetch_array($query)){ 
    $arr = $numbers['ID'].","; 
    print_r (explode(",", $arr)); 
    } 
}; 

Dies ist der Ausgang

Raten Sie, es ist eine Frage, aber ich habe mein Bestes versucht, die Lösung zu finden und gescheitert.

Antwort

0

Einfache Lösung: Mische das Ergebnis direkt von ORDER BY RAND() in Ihrer MySQL-Abfrage:

SELECT * FROM ads ORDER BY RAND() LIMIT 5 
0

Ich denke, Sie sollten auf dem Alp-Lösung suchen, aber Ihre Frage direkt zu beantworten - diese in deiner while Schleife.

array_push($arr,$numbers['Id']); 

aber zuerst die Variable vor der Schleife deklarieren:

$arr = array(); 
Verwandte Themen