Brauche Hilfe bei Code

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

  • Brauche Hilfe bei Code

    Hi!
    Vielleicht kann mir hier jemand weiterhelfen?
    Folgender Code funktioniert, aber da die Abfrage 180mal gemacht wird, dauert das einfach zu lange!

    PHP-Code:
    $zahl 0;
    while(
    $zahl <= 179)
    {
    $query "SELECT Kstmenge01 FROM kswkst99 where Kstkunde like '$Knummer' and Kstartikel = '$artnr[$zahl]'";
    $result odbc_exec($dbh$query);
    $Menge odbc_result($result1);
    $zahl++;


    Folgender Code funtioniert nicht, aber soll das ganze beschleunigen! Weiß jemand wo der oder die Fehler liegen? habe leider keine Ahnung!

    PHP-Code:
    $query "SELECT Kstmenge01 FROM kswkst99";
    for(
    $i=0$i<=179$i++)
    {
    if(
    $i=0)
    {
    $query.= " where ";
    } else {
          
    $query.= " or ";
    }
     
    $query.= "Kstkunde like '$Knummer' and Kstartikel = '$artnr[$i]'";


    $result odbc_exec($dbh$query);
    $Menge odbc_result($result1);
    echo 
    $Menge."<br>";

    Beschleunigt der 2. Code die Abfrage eigentlich wesentlich, oder gibt es da bessere Lösungen?

    MFG

    Chris

  • #2
    versuch mal
    if($i=0) nach if($i==0) zu tauschen

    Kommentar


    • #3
      Danke, aber funktioniert leider auch nicht!
      Ein bekannter hatte mir if(!$i) vorgeschlagen, aber das geht auch nicht!
      Der bekommt irgendwie keine Daten....

      Warning: SQL error: [Open Criteria Driver]Erreur de syntaxe., SQL state 37000 in SQLExecDirect in c:\easyphp\www\kinfo\testunf.php on line 397

      Warning: Supplied argument is not a valid ODBC result resource in c:\easyphp\www\kinfo\testunf.php on line 398

      397 ist diese Zeile:

      $result = odbc_exec($dbh, $query);

      Kommentar


      • #4
        aha, deine query scheint also zu funktioneren, ein kleines dankeschön wär nicht schlecht, egal wie klein die hilfe war.
        so funkt leider eine community

        cu, Campus
        meine Projekte bestaunen: http://www.kleiza.de

        Kommentar


        • #5
          ich denke die ganze Abfrage zum Datenbank muss du dann machen nachdem die Schleife zu Ende ist

          PHP-Code:
          $query "SELECT Kstmenge01 FROM kswkst99";
          for(
          $i=0$i<=179$i++){
             if(
          $i==0){
                 
          $query.= " where ";
             }else {
                
          $query.= " or ";
              }
             
          $query.= "Kstkunde like '$Knummer' and Kstartikel = '$artn [$i]'";
          }

          $result odbc_exec($dbh$query);
          $Menge odbc_result($result1);
          echo 
          $Menge."<br>"

          Kommentar


          • #6
            PHP-Code:
            $query "SELECT Kstmenge01 FROM kswkst99 where";
              
            $arraystring implode("' or Kstartikel = '",$artn);
            $query.= " Kstkunde like '$Knummer' and (Kstartikel = '".$arraystring."')";
            $result odbc_exec($dbh$query);
            $Menge odbc_result($result1);
            echo 
            $Menge."<br>"
            versuchs mal so, wenn es mehr array gibt, dann vorher nur die die du willst kopieren.
            Zuletzt geändert von Campus; 28.08.2002, 12:43.
            meine Projekte bestaunen: http://www.kleiza.de

            Kommentar


            • #7
              Thx!

              Probiere ich beides gleich mal aus!

              @Campus:
              Ist mir neu das ich ein Danke vergessen habe!
              Kannst dir ja meine Antwort nochmal durchlesen, aber ok, nochmals danke für die antworten!

              Kommentar


              • #8
                Verzweiflung!

                Klappt leider beides nicht, keine Ahnung warum.....
                Wo kann da bloss der Fehler liegen!

                Dennoch thx!

                Kommentar


                • #9
                  Re: Thx!

                  Original geschrieben von Christian
                  Probiere ich beides gleich mal aus!

                  @Campus:
                  Ist mir neu das ich ein Danke vergessen habe!
                  Kannst dir ja meine Antwort nochmal durchlesen,
                  http://www.php-resource.de/forum/sho...threadid=10627
                  lol, siehst du da ein danke ? also ich nicht, naja, ist aber jetzt egal.
                  meine Projekte bestaunen: http://www.kleiza.de

                  Kommentar


                  • #10
                    Re: Verzweiflung!

                    Original geschrieben von Christian
                    Klappt leider beides nicht, keine Ahnung warum.....
                    Wo kann da bloss der Fehler liegen!

                    Dennoch thx!
                    poste mal die fehler meldung, so bringt es uns wenig
                    meine Projekte bestaunen: http://www.kleiza.de

                    Kommentar


                    • #11
                      Hast Du Recht... Sorry!

                      Die Fehlermeldung ist folgende

                      Warning: Bad arguments to implode() in c:\easyphp\www\kinfo\testunf1.php on line 388


                      Dein Code ist für mich ein wenig verwirrend!

                      Kommentar


                      • #12
                        wenn Zeile 388 bei dir so aussieht

                        $arraystring = implode("' or Kstartikel = '",$artn);

                        heißt die Fehlermeldung, dass $artn bei dir kein Array ist.

                        Kommentar


                        • #13
                          also hab es eben getestet:
                          PHP-Code:
                          <?php 
                          $artn
                          =array("100121","23243242","234324");
                          $Knummer="hallo";
                          $query "SELECT Kstmenge01 FROM kswkst99 where";
                            
                          $arraystring implode("' or Kstartikel = '",$artn);
                          $query.= " kstkunde like '$Knummer' and (Kstartikel = '".$arraystring."')";
                          echo 
                          $query;
                          ?>
                          und geechot wird :
                          SELECT Kstmenge01 FROM kswkst99 where kstkunde like 'hallo' and (Kstartikel = '100121' or Kstartikel = '23243242' or Kstartikel = '234324')
                          alles klappt
                          meine Projekte bestaunen: http://www.kleiza.de

                          Kommentar


                          • #14
                            Supi!

                            Danke!
                            Jetzt kommt das nächste Problem....

                            Ich bekomme da ja ein Array zurück... wie lese ich das denn aus?

                            PHP-Code:
                            $e odbc_exec($dbh$query);
                            while(
                            $result odbc_fetch_row($e))
                            {
                               
                            $dasFeld $result[0];
                               echo 
                            $dasFeld;

                            Das funtioniert nicht!
                            odbc_fetch_array wird nicht angenommen.

                            Kommentar


                            • #15
                              hmm, mit odcb kenn ich mich nicht so aus,
                              vielleicht wird ja da nur assoziativ gearbeitet sprich

                              PHP-Code:
                              $dasFeld $result["ksartikel"];
                              echo 
                              $dasFeld

                              hmm, keine ahnung
                              meine Projekte bestaunen: http://www.kleiza.de

                              Kommentar

                              Lädt...
                              X