Mehrere while Schleifen ineinander

Hallo zusammen,

ich glaube, meine Frage ist ziemlich leicht zu beantworten, da sie, wahrscheinlich, einfach nur auf einem Denkfehler beruht^^. Dennoch sitze ich jetzt seit einiger Zeit daran und finde keine Lösungsmöglichkeit, auch mit dem Inkrement einer Variable, damit eine Schleife nur einmal ausgeführt wird, führt nicht zum gewünschten Ergebnis. Vielleicht kann mir hier ja jemand weiterhelfen, bzw. hatte das gleiche Problem auch mal ;-)

Erstmal zum Vorhaben: Ich hole aus einer MySQL Datenbank die Spalte "Namen", diese Spalte beinhaltet, wer hät's gedacht, einige Namen. Der zweite Teil ist, dass ich mit der php Funktion "opendir" ein Verzeichnis auf dem Server öffne und alle Verzeichnisse dahinter auslese. Sprich: Ich öffne mit php den Ordner Namen, dann listet er mir die Verzeichnisse (sind mit Namen betitelt) dahinter auf. Soweit so gut, einzelnd funktioniert das auch super. Das Problem kommt erst, wenn ich beides gleichzeitig mache, dazu später mehr... Am Ende möchte ich die Namen, die ich aus der Datenbank geholt habe, von den Verzeichnisnamen abziehen, dies erfolgt mit string replace.

Nun der Code:

    $abfrage = "SELECT Name FROM blabla ORDER BY ID ASC";
    $ergebnis = mysql_query($abfrage);  
    while($row = mysql_fetch_object($ergebnis))
    {   
    echo $row->Name;

    if ($handle = opendir('../../../Namen/')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo $file;
        }
    }
    closedir($handle);
    }
    }

In der ersten while Schleife hole ich den Inhalt aus der Datenbank und gebe ihn aus, passt, dann öffne ich das Verzeichnis "Namen" auf dem Server und lasse die Verzeichnisse dahinter auflisten. Als Seitenoutput bekomme ich jetzt allerdings den ersten Namen der Datenbank, dann die Verzeichnisse auf dem Server, dann wieder ein Name der Datenbank und die Verzeichnisse auf dem Server, dann wieder ein Name der Datenbank usw. Ist logisch, da ich ja beide while Schleifen ineinander verschachtelt habe, somit bekomme ich jedes Mal, wenn etwas aus der Datenbank geholt wird, den Serverinhalt mit. Das soll aber nicht sein...

Nun zu meiner Frage: Wie bekomme ich es hin, dass ich $row->Name (erste while) von $file (zweite while) abziehen kann, ohne dass mir hunderte Sachen (while Ergebnisse) ausgegeben werden? Irgendwie stehe ich auf dem Schlauch...

Über eine Antwort und eine kurze Erklärung würde ich mich wirklich sehr freuen!

Grüße, Hummel

...zur Frage

Denkansatz ändern und Schritt für Schritt arbeiten. Erst sauber die Namen abfragen.

Während des ersten While eine neue Array füttern mit Ordnern die gefunden wurden.

Anschliesen eine foreach aus dieser neuen Array und in dieser noch ein While der ersten Abfrage - kurzum -

prüfe für jeden Ordner den du gefunden hast alle Daten aus der MySQL Abfrage

Mein Tipp - verabschiede dich von While - pack die Abfrage in eine Variable und arbeite mit foreach

Bei Fragen -> schreib bei Facebook (siehe profil)

...zur Antwort

Unbedingt sofort ins KH!

...zur Antwort

Geile Frage - ich würde sagen deine Mädls haben recht. Gefühle sind hier immer im Spiel. Aber im Grunde wird daraus das was ihr selbst macht. Wenn ihr euch gut versteht redet darüber und werdet euch einig.

Viel wichtiger - schei*** mal auf die Meinung anderer

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.