asort frage

SpiderZLS

Mitglied
Ich möchte gerne ein Verzeichniss einlesen und das ganze dann alphabetisch sortiert in einem <option> Feld anzeigen lassen

Hier mal mein Code der mir probleme bereitet
PHP:
function select_read_kunden($dir,$data) {

    $i=0;
    $hdl = opendir("./kddaten/");
    while ($file = readdir($hdl)) {
        if ($file != "." && $file != "..") {
            $DATA_RKD[] = array($file);
        }
    }
    asort($DATA_RKD,0);

    while ($i < count($DATA_RKD))
    {
        $hst = strtolower(substr($DATA_RKD[$i][0], 0, 3));
        $kdr = strtolower(substr($_REQUEST[kunde], 0, 3));
        if ($kdr == $hst) {
            echo "<option value=\"".$DATA_RKD[$i][0]."\" selected>".$DATA_RKD[$i][0]."</option>\n";
        } else {
            echo "<option value=\"".$DATA_RKD[$i][0]."\">".$DATA_RKD[$i][0]."</option>\n";
        }
        $i++;
    }
    echo "</select>\n";
}

die Ausgabe der <option> Felder sind trotzdem durcheinander...offenbar mache ich irgendwo einen Denkfehler....währe hier für eine Hilfestellung (Lösungsvorschlag) wirklich dankbar... ;)

Wollte das heute an Karnevall noch fertig bekommen
 
Hi,

ein paar Sachen fallen mir auf:

Wo ist dein oeffnendes select?
Warum asort() und nicht sort()? asort() ist fuer assoziative Arrays, was deiner nicht ist.

Dein readdir() sollte so verwendet werden:
PHP:
while (false !== ($file = readdir($handle))) {

Diese Zeile ist wahrscheinlich das Problem:
PHP:
$DATA_RKD[] = array($file);

Mach daraus
PHP:
$DATA_RKD[] = $file;
dann sollte das sortieren funktionieren. Du musst dann allerdings noch die $DATA_RKD[$i][0] in .$DATA_RKD[$i] aendern.

Siehe:
http://de3.php.net/manual/en/function.sort.php
http://de2.php.net/readdir

Gruss,
Manuel
 
jupp, supi das wars.... ;)

Mein oeffnendes select steht innerhalb des Html Baums.. ;)

arsort in sort geändert und
Code:
$DATA_RKD[] = array($file);

in

Code:
$DATA_RKD[] = $file;

abgeändert..... ;)
Nochmal ein Dickes Dankeschön für die schnelle hilfe..dann kann ich ja jetzt feierabend machen.. ;)
 
Zurück