Problem mit Schleife in der Schleife

  • Hallo,
    da ein Fehler im System war muss ich nun ein paar Datensätze manuell aus einer Backupliste verarbeiten.
    Dafür habe ich mir folgendes Script geschrieben:

    Die foreach Schleife funktioniert, jedocht wird die while Schleife nur einmal ausgeführt, was ich nicht verstehe
    und es wird nur der letzte Datensatz ausgegeben.

    -

  • Du hast doch da eine Bedinung drin:

    where unternehmen = '$wert'

    Da wird es wohl immer nur einen Datensatz zu geben. mysql_num_rows einbauen. Und $wert mal mit trim bearbeiten.

  • Hallo
    für jedes Unternehmen gibt es wirklich nur immer ein Datensatz.
    Aber die Variable $wert wird durch die foreach Schleife doch immer
    anders sodass das Ergebnis der Datenbankabfrage ja auch immer
    anders sein müsste und somit immer ein Datensatz vorhanden wäre...?
    Oder verstehe ich das falsch? Danke

    EDIT:
    Mit $wert = trim($wert); ging es nun (vor der Abfrage)

    -

    Einmal editiert, zuletzt von 1234d1 (16. Juni 2009 um 10:26)

  • Wenn du in Zukunft mit (my)SQL Abfragen Schwierigkeiten kriegst (und das wirst du), dann lass dir einfach mal die Abfragen ausgeben -> ins phpmyadmin wechseln -> ausführen. Dann siehst du immer gleich ob der Fehler an der Abfrage liegt oder an deinem Code.

  • phore
    In dem Falle wird es schwierig, da der Zeilenumbruch das Problem war. Da hilft dir phpMyAdmin auch nicht weiter.

  • Der Code ist absoluter Müll

    Select in eine froeach, pfui pfui pfui

    labern kann jeder - und hier is kein platz für sprücheklopfer.

    -> alternative posten oder schnautze halten !

  • Nicht so frech Driver....

    Du machst für jede Foreach eine Verbindung zur Datenbank das ist extram schlecht, mysql query ist langsam

    Gibt mehr Lösungen zb machst du lieber einen langen String in der Foreach und den String bindest du dann im mysql Query ein mir OR yyy = xxx OR yyy = xx

  • siehst so einfach. also liegt das problem nicht an der foreach sondern
    an der geschwindigkeit bzw häufigkeit von mysql. so einfach kann es
    zu mißverständnissen führen. also einfach gleich erklären anstatt
    irgendwas loszublubbern.

    btw. das war nicht frech - eher direkt.