isset und versteckte Formularfelder

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

  • #16
    is_int($artikelnummer) ist also $artikelnummer[1] und beim nächsten mal $artikelnummer[2]

    für die "sammelabfrage" schau dir mal implode und http://dev.mysql.com/doc/mysql/de/Co...Operators.html an (vor allem IN ist einen blick wert)
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #17
      ok,ok, jetzt habe ich gerafft, was du mir sagen wolltest:

      Also so:

      PHP-Code:
      if (is_int($anzahl[$i]) && is_int($artikelnummer[$i])) { 
      Hatte den Index vergessen.

      Aber zu dem Ansatz mit dem einzigen Update anstatt 10, stehe ich wie der Ochs vorm Berg. Habe noch nicht mal eine Idee was du meinen könntest. Könntest du mir den Ausdruck mal hinschreiben, damit ich sehe was du meinst ? Wenn ich ein implode mache, kann ich doch nur update anwenden und nicht insert. ???? Hääää Hilfe.
      Pickel ? Übergewicht ? Depressionen ?
      Brot, Kartoffeln und Milch sind Gift!
      http://www.paleofood.de

      Kommentar


      • #18
        du sollst ja nicht alles auf einmal einfügen, sondern AUSLESEN

        SELECT anzahl, artikelnummer
        FROM tabelle
        WHERE artikelnummer IN (1,2,3,4,5)

        statt
        SELECT anzahl FROM tabelle WHERE artikelnummer = 1
        SELECT anzahl FROM tabelle WHERE artikelnummer = 2
        SELECT anzahl FROM tabelle WHERE artikelnummer = 3
        SELECT anzahl FROM tabelle WHERE artikelnummer = 4
        SELECT anzahl FROM tabelle WHERE artikelnummer = 5
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #19
          OK, dann bekomme ich ein Array zurück mit Artikelnummern deren Anzahl zu aktualisieren sind. Was hilft mir das?
          Bräuchte mal einen Flowchart zu deinem Gedankengang.

          1) mit dem Implode das SELECT aufbauen
          2) Array abholen
          3) ???
          4) ???


          Wenn ich mich blöd gebe, tut mir das leid. Habe diese Woche jeden Tag 15 Stunden für eine Klausur gelernt. Mein Hirn ist Matsche.
          Zuletzt geändert von antman; 12.11.2004, 16:49.
          Pickel ? Übergewicht ? Depressionen ?
          Brot, Kartoffeln und Milch sind Gift!
          http://www.paleofood.de

          Kommentar


          • #20
            Ergibt das Sinn ? Es werden die Artikel, DIE SCHON MAL AUSGEWÄHLT WURDEN, zur Aktualisierung der Anzahl aus der DB geholt. Und aktualisiert. Aber wie schreibe ich die nun zurück. Und was ist mit den Artikeln, die neu hinzukommen ?
            Für das UPDATE muss aus dem $items Array nun wieder per explode ein durch Komma getrennter String gemacht werden. Nun brauche ich aber auch die die korrespondierenden indexnamen für die Spalten. Was nun ?


            PHP-Code:
                    // update
            $itemNumbers implode(','$artikelnummer);
            $res =& $this->db->query("
                SELECT artikelnummer, anzahl
                FROM   warenkorb
                WHERE sid = '"
            .$this->sid."' 
                AND   artikelnummer
                IN (
            $itemNumbers)
            )"
            ;

            $items =& $res->fetchRow(DB_FETCHMODE_ASSOC);
            foreach(
            $items AS $key => $value) {
                
            $items[$key] = $artikelnummer[$key];

            Zuletzt geändert von antman; 12.11.2004, 18:02.
            Pickel ? Übergewicht ? Depressionen ?
            Brot, Kartoffeln und Milch sind Gift!
            http://www.paleofood.de

            Kommentar


            • #21
              Wie nun die Artikel in die Datenbank einfügen die nicht aktualisiert wurden? Weiß nicht weiter.
              Pickel ? Übergewicht ? Depressionen ?
              Brot, Kartoffeln und Milch sind Gift!
              http://www.paleofood.de

              Kommentar


              • #22
                [MySQL 4.0] Warenkorb aktualisieren.

                Hallo Board,

                An die Fuktion updateCard() werden zwei Arrays übergeben. Die Artikelnummern und die dazugehörigen Anzahlen. Die Funktion besteht aus 2 Teilen. Einem update Teil für die Artikel die bereits in der DB sind und deren Anzahl geändert wird und einem Teil der neue Artikel hinzufügt:

                PHP-Code:
                function updateCard($anzahl$artikelnummer)

                    
                $i 0;
                    foreach(
                $artikelnummer as $key => $value) {
                        
                $in[$value] = $anzahl[$i++];
                    }
                    
                ## update item counts
                    
                $itemNumbers implode(','$artikelnummer);
                    
                $res =& $this->db->query("
                        SELECT 
                        artikelnummer, anzahl
                    FROM   
                            warenkorb
                        WHERE 
                        sid = '"
                .$this->sid."' 
                        AND  
                        artikelnummer 
                        IN 
                        ("
                .$itemNumbers.")
                    "
                );

                        if(
                $res->numRows() == 1) {  
                            while(
                $row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
                            
                $old[$row['artikelnummer']] = $row['anzahl'];
                        
                $res =& $this->db->query("
                            UPDATE 
                            warenkorb
                                SET 
                            anzahl = '"
                .$in[$row['artikelnummer']]."'
                               WHERE 
                            sid = '"
                .$this->sid."' 
                            AND 
                            artikelnummer = '"
                .$row['artikelnummer']."'
                        "
                ); 
                                                                }
                    
                ## add    new items                                    
                        

                     
                $addthese array_diff($in$old);
                            foreach(
                $addthese as $key => $value) {
                                
                $keys .= $key.', ';
                        
                $values .= $values.',';
                        }
                        
                $res =& $this->db->query("
                            INSERT INTO 
                                        warenkorb (sid, anzahl, artikelnummer)
                                VALUES 
                            ('"
                .$this->sid."', '".$value."', '".$key."')
                        "
                );
                       } 
                Das Problem ist, dass ich nicht weiß, wie man mehrere Werte gleichzeitig aktualisert. So wie es momentan ist, ergibt es keinen Sinn. Sitze nun fest. Wer könnte helfen ?
                Zuletzt geändert von antman; 15.11.2004, 14:29.
                Pickel ? Übergewicht ? Depressionen ?
                Brot, Kartoffeln und Milch sind Gift!
                http://www.paleofood.de

                Kommentar

                Lädt...
                X