Wert aus einem array in ein array schreiben

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

  • Wert aus einem array in ein array schreiben

    Hallo,

    ich habe folgendes Problem, ich habe ein array, welches erstellt wird, sobald ein Kunde das Produkt in den Warenkorb legt. Dort hat er die Möglichkeit, mehrere Optionen mit einer Menge zu versehen.
    Die neue Menge, muss nach dem Übergeben der Seite in das array geschrieben werden.

    Ich habe folgende Code:

    PHP-Code:
    if (is_array($cart_quantity_photo)) {
          
    reset($cart_quantity_photo);
          while (list(
    $photo_id$photo_quantity ) = each($cart_quantity_photo) ){
          if (
    $photo_id == $products['products_id'].$productss['photo_id']) {
              
    $mengen $photo_quantity;
            
    $id $photo_id;
          }
        }
    }
          if( (
    $photo_id == $products['products_id'].$productss['photo_id']) &&
     
    $productss['quantity'] == $photo_quantity) {

        
    $menge $productss['quantity'];
    } else {
        
    $menge $mengen;

    }
            
    $size[] = array('photo_size' => $productss['photo_size'],
                            
    'photo_price' => $productss['photo_price'],
                            
    'photo_tax' => $productss['tax_class_id'],
                            
    'id_photo' => $prid,
                            
    'photo_id' => $productss['photo_id'],
                            (int)
    $products_id $productss['photo_id'] => $menge); 

    Nur ist es so, das immer $menge = $productss['quantity'] in das array $size geschrieben wird. Es soll aber wenn anderer Wert eingetragen wurde, die $menge = $mengen in das array $size geschrieben werden.

    Kann mir dabei jemand helfen, ich sehe den Wald vor Bäumen net mehr...

    DANKE DANKE DANKE
    Zuletzt geändert von SLSB02; 16.03.2006, 16:32.

  • #2
    brich bitte deinen code um.

    wenn du merkst, dass du immer in den zweig der if-abfrage gelangst, wo
    PHP-Code:
    $menge $productss['quantity']; 
    zugewiesen wird, so kannst du sicher sein, dass die bedingung zu true ausgewertet wird:
    PHP-Code:
    $photo_id == $products['products_id'].$productss['photo_id']) 
    und
    PHP-Code:
    $productss['quantity'] == $photo_quantity 
    sind wahr. warum das so ist - musst du selbst besser wissen.

    Kommentar


    • #3
      Hallo penizillin,

      vielen Dank, für deine schnelle Antwort. Wenn ich aber das $menge = $mengen mit einem echo davor ausführe, wird es ja richtig angezeigt. Nur wird leider trotzdem der $menge = $productss['quantity'] benutzt.
      Aber warum ist das so?

      Vielen Dank

      Kommentar


      • #4
        meine fresse, du bist doch wohl zu alt, um an wunder zu glauben, oder?

        du hast irgendwo oben die zuweisung
        PHP-Code:
        $mengen $photo_quantity
        ob und wann sie stattfindet, musst du selbst wissen. durch die if-abfrage von der art
        Code:
        if ( A und B )
        kann es sein, dass A falsch ist und B wahr. deswegen kommst du in den else zweig.

        da B aber
        PHP-Code:
        $productss['quantity'] == $photo_quantity 
        darstellt, folgt aus der transitivität des gleichheitszeichens:
        PHP-Code:
        $productss['quantity'] == $mengen 
        und somit sind die zuweisungen
        PHP-Code:
             $menge $productss['quantity'];
        # und
        $menge $mengen
        inhaltlich gleichwertig.

        mit ein wenig debugging kämst du selbst drauf.

        Kommentar


        • #5
          Hallo,

          bastele schon 3 tage dran rum aber irgentwie komme ich nicht drauf könntet ihr mir nicht helfen ??

          mfg
          Robert

          Kommentar


          • #6
            hast du verstanden, was ich geschrieben habe?

            Kommentar


            • #7
              anscheinet nicht so ganz schuppen auf den augen ??

              Kommentar


              • #8
                lass dir zeit.

                Kommentar


                • #9
                  Hallo,

                  ich werde daraus einfach nicht schlau kannst du das kind nicht beim namen nenen verstehe das so nicht ??


                  mfg

                  Kommentar


                  • #10
                    was ist denn von dem nicht klar, was ich geschrieben habe?

                    Kommentar


                    • #11
                      also ab hier:

                      meine fresse, du bist doch wohl zu alt, um an wunder zu glauben, oder?

                      du hast irgendwo oben die zuweisung

                      PHP:

                      Habe ich ein kleines Problem... den die abfrage, würde so ja funktionieren, wenn sie nicht werte aus einem array nutzen würde...

                      Kommentar


                      • #12
                        teste mal, was in $productss['quantity'] und was in $mengen drin ist.
                        benutze dafür <pre> tags und print_r().
                        zeig die ergebnisse hier.

                        Kommentar


                        • #13
                          Also folgende Werte sind enthalten:

                          $productss['quantity']:

                          0
                          2
                          0
                          0
                          0

                          und

                          $mengen:

                          1
                          2
                          3
                          4
                          5

                          wobei in $mengen Werte drin stehen, welcher der User vorher in ein input Feld selber festgelegt hat.

                          Vielen Dank, für eure Hilfe...

                          Kommentar


                          • #14
                            ist es das, was du glaubst, oder das, was print_r() ergibt?

                            Kommentar


                            • #15
                              das ist das, was print_r(); ergibt. Ich habe die beiden Variablen ausgegeben die du haben wolltest. Aber hier noch einmal ein print_r();
                              für $cart_quantity_photo;

                              Array ( [2831] => 1 [28311] => 2 [28317] => 3 [28323] => 4 [28329] => 5 )

                              wobei [2831] = $products['products_id'].$productss['photo_id'] ist.

                              aber warum, wird es 5x angezeigt?

                              so sieht meine Ausgabe aus:

                              Array ( [2831] => 1 [28311] => 2 [28317] => 3 [28323] => 4 [28329] =>
                              5 ) Array ( [2831] => 1 [28311] => 2 [28317] => 3 [28323] => 4 [28329]
                              => 5 ) Array ( [2831] => 1 [28311] => 2 [28317] => 3 [28323] => 4
                              [28329] => 5 ) Array ( [2831] => 1 [28311] => 2 [28317] => 3 [28323] =>
                              4 [28329] => 5 ) Array ( [2831] => 1 [28311] => 2 [28317] => 3 [28323]
                              => 4 [28329] => 5 )


                              Vielen Dank

                              Kommentar

                              Lädt...
                              X