Einzelnen Beitrag anzeigen
  #1  
Alt 21.08.2009, 19:38:21
hoagie007 hoagie007 ist offline
Anfänger
 
Registriert seit: May 2007
Alter: 48
Beiträge: 12
hoagie007 eine Nachricht über Yahoo! schicken
Mehrdimensionales Array sortieren - ich steh' auf dem Schlauch :-(

Hallo Experten,

ich habe mir in den letzten Stunden diverse Foren zum o.g. Thema durchgelsen, meine diversen PHP-Bücher gewälzt und mich auf php.net durchgewühlt, aber irgendwie fehlt mir der Durchblick.
Das Problem ist wahrscheinlich ganz banal und ich sehe mal wieder den Wald vor lauter Bäumen nicht.

Folgender Code holt Daten aus der MySQL-DB:

PHP-Code:
$res_prod mysql_query('SELECT anzahl,format,art,papier FROM foto');
    
$produkte=array();
for (
$i=0$i mysql_num_rows($res_prod); $i++) 
    {
     
$prow=mysql_fetch_array($res_prod);
    
$produkte[$prow['format']][$prow['art']][$prow['papier']]+=$prow['anzahl'];

Nun möchte ich das Array $produkte nach 'anzahl' absteigend sortieren.
Ich habe es mit ksort, asort, usort und array_multisort probiert, aber das Ergebnis war nie so wirklich wie ich es haben möchte.

Ergebis zum jetzigen Zeitpunkt:

9 x 13 - matt - Standard - 39
10 x 15 - glänzend - Standard - 2
10 x 15 - glänzend - Standard - 17
13 x 18 - matt - Premium - 28
13 x 18 - matt - Premium - 11
...

Das Array gebe ich so in HTML aus:
PHP-Code:
foreach ($produkte AS $pformat=>$value)
    {
    foreach (
$value AS $part=>$value2)
        {
        foreach (
$value2 AS $ppapier=>$value3)
        {
        if ((
$sformat[$pformat]<>'') AND ($sart[$part]<>'') AND ($spapier[$ppapier]<>''))
            {
            echo 
'<tr><td>'.$sformat[$pformat].'</td><td>'.$sart[$part].'</td><td>'.$spapier[$ppapier].'</td><td>'.$value3.'</td></tr>';
            }
        }
    }

Über die Arrays $sformat, $sart und $spapier hole ich die Bezeichnungen der jeweiligen Werte. Aber wie sortiere ich nach der Anzahl ?!?!

Kann mir bitte jemand helfen, ich bin am verzweifeln.

DANKE!!
Mit Zitat antworten