Brauche dringend hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    habe die anweisung jetzt wie folgt:

    PHP-Code:
    $u=0;

    while(
    $z>=$u)


    if (
    in_array($tempdb[$u],$artno) ){
    $query "UPDATE artikel SET SHOP_DEL_FLAG = 'Y' WHERE ARTNUM = '{$tempdb[$u]}'";
    $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());

    //echo in_array($tempdb[$u],$artno);
    //echo $tempdb[$u];

    $u++;

    und mein apache hat ne auslastung von 90-99 %.

    Kommentar


    • #17
      und was ist $z?

      Kommentar


      • #18
        $z ist die variable, die die anzahl an spalten der csv datei enthält.

        sodass das script alle produkte in der datei mit denen im shop vergleicht und theoretisch dann die nicht mehr in der datei aufgeführten produkte im shop auf shopp_del_flag = Y stellt.

        Kommentar


        • #19
          ok. und was bringt ein var_dump($z)?

          Kommentar


          • #20
            var_dump($z)?

            das habe ich nirgens stehen.

            oder wie meinst du das ?


            Wenn ich die while-schleife mit in_array und co auskommentiere, dann is mein apache nich mehr ausgelastet komisch.

            Kommentar


            • #21
              so ich habe mal kurz rekontruiert nun läuft der server bloß funzt der update net.

              PHP-Code:
              $u=0;
              while(
              $z>$u)
              {


              if (
              in_array($tempdb[$u],$artno)){
              $query "UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = '{$tempdb[$u]}'";
              $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());
              }

              //echo in_array($tempdb[$u],$artno);
              //echo $tempdb[$u];
              echo $query;
              $u++;



              Ausgabe:

              Verbindung zum Datenbankserver erfolgreich
              UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''

              anscheinend hat er nichts drin obwohl da was drin sein müsste in der variablen.

              php is zum kotzen.
              Zuletzt geändert von Firstone; 23.09.2005, 12:43.

              Kommentar


              • #22
                er sollte allerdings nur die updaten, die net mehr da sind und net alle *hrrr

                Kommentar


                • #23
                  Original geschrieben von Firstone
                  er sollte allerdings nur die updaten, die net mehr da sind und net alle *hrrr
                  liegt wohl weniger an php als am sql??
                  dein statement kommt mir spanisch vor. habe noch nie nen UPDATE where UPDATE gesehen....
                  mhh...

                  k.

                  Kommentar


                  • #24
                    Original geschrieben von kuempivonstein
                    liegt wohl weniger an php als am sql??
                    dein statement kommt mir spanisch vor. habe noch nie nen UPDATE where UPDATE gesehen....
                    mhh...

                    k.
                    Ich denke, dass sich hier nur mehrere Fehlermeldungen durch die while-Schleife aneinandergehängt haben.

                    Mach deine Query mal so:

                    PHP-Code:
                    $query "UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = '".$tempdb[$u]."'"
                    ist eigentlich artikel.Artnum = ' ".$tempdb[$u]." ' ";
                    nur ohne Leerzeichen!

                    EDIT:
                    Achso, den Unterschied zwischen einfachen und doppelten Anführungszeichen sieht man im PHP-Code eh recht schön
                    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                    Schön - etwas Geschichte kann ja nicht schaden.
                    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                    Kommentar


                    • #25
                      Original geschrieben von Quetschi
                      Ich denke, dass sich hier nur mehrere Fehlermeldungen durch die while-Schleife aneinandergehängt haben.

                      ups...
                      hätte ich wohl erst lesen und dann mein gehirn einschalten sollen...
                      sorry.

                      Kommentar


                      • #26
                        hmm da erhalte ich dann das gleiche ergebnis habe mal ein br reingemacht zur besseren übersicht. ^^


                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''
                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''
                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''
                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''
                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''
                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''
                        UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = ''




                        PHP-Code:

                        $u
                        =0;
                        while(
                        $z>$u)
                        {

                        if (
                        in_array($tempdb[$u],$artno)){
                        $query "UPDATE ARTIKEL SET SHOP_DEL_FLAG = 'Y' WHERE artikel.Artnum = '".$tempdb[$u]."'";
                        $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());
                        }

                        //echo in_array($tempdb[$u],$artno);
                        //echo $tempdb[$u];
                        echo $query;
                        echo
                        "<br>";
                        $u++;

                        Kommentar


                        • #27
                          Mach mal folgendes vor der While-Schleife:

                          PHP-Code:
                          var_dump($tempdb); 
                          Schau dir die Ausgabe im Browserquelltext an und poste uns die Ausgabe.
                          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                          Schön - etwas Geschichte kann ja nicht schaden.
                          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                          Kommentar

                          Lädt...
                          X