Seite 1 von 1

array in while

Verfasst: 08.04.2008 22:40
von phillip
Hallo
Ich hab mal wieder ein kleines Problem, mit dem ich nicht ganz klar komme... Aber darum ist phpbb.de ja da :D

also, es geht um folgendes:

Für eine Bildergallery würde ich gerne ein '<-- zurück weiter-->' Menu oberhalb des Bildes machen.

Ich hab mir das Ganze mal überlegt, und bin auf eine mehr oder weniger simple Lösung gekommen.

Ich werde alle Bild ID's abfragen, die in der selben Kategorie sind.
Daraus will ich die kleinste ID, wie auch die grösste ID auslesen ala

Code: Alles auswählen

$zahlenarray=array(14.9,3,7,22.8);
echo max($zahlenarray);
echo min($zahlenarray);
So, da wären wir eigentlich bei meinem Hauptproblem. Die einzelnen ID's in ein Array verpacken, das in einer While-Schleife.

Ich denke es ist nicht wirklich ein Problem, nur hab ich mich sozusagen nie mit arrays beschäftigt, oder unbewusst ;-)

Verfasst: 09.04.2008 18:41
von Sanchez17
Hola,

also dein Problem ist es, die Id's in die Array zu stecken?
Das ist ganz einfach:

Code: Alles auswählen

// Die ID's aus der Datenbank holen
$sql = "SELECT ...";
$result = $db->sql_query($sql);

$zahlenarray = array();
while( $row = $db->sql_fetchrow($result) )
{
       $zahlenarray[] = $row['id'];
}
Danach erhält die Array alle Id's und kannst mit dem Array weiter arbeiten.



Zur erklärung:
Mit $zahlenarray = array() erstellt man ein leeres Array. Dort kann man im Nachhinein immer ein Wert hinzufügen indem man 2 eckige KLammern benutzt:
$zahlenarray[] = 'Wert';


Es gibt denke ich auch andere Wege die ID's in die Array zu bekommen doch diese finde ich am einfachsten und am Anfang als verständlichste.

Verfasst: 09.04.2008 18:43
von phillip
yea, das ist ja so einfach ^^

Vielen Dank!

Verfasst: 09.04.2008 20:23
von Dave

Code: Alles auswählen

$var = array(10 => 'blabla', 6 => 'blabla', 1 => 'blabla', 4 => 'blabla');
ksort($var);
$first = reset($var);
$last = end($var);
So bekommste ein array sortiert und ersten und letzte wert ausgegeben. Wobi ich dir empfehlen würde direkt in der mysql abfrage nen ORDER BY benutzen.

Code: Alles auswählen

while( $row = $db->sql_fetchrow($result) ) 
{ 
       $zahlenarray[$row['id']] = true; 
}
Würde ich benutzen.

MfG
Dave