Ankündigung

Einklappen
Keine Ankündigung bisher.

formular in einer schleife ..

Einklappen

Neue Werbung 2019

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

  • formular in einer schleife ..

    Hallo ich habe ein formular in einer schleife

    und möchte diese dann auswerten aber bekomme immer nur den ersten formular wert raus
    der code:
    Code:
    <?php
    if(isset($_GET['go_1'])){
      $id=$_GET['attributes'];
      $get_attri=xtc_db_query("
      SELECT pa.products_attributes_id,  
             pa.options_id,  
             pa.options_values_id,  
    		 pa.options_values_price,  
    		 pa.price_prefix,  
    		 pa.attributes_model,  
    		 pa.attributes_stock,  
    		 pa.options_values_weight,  
    		 pa.weight_prefix,
    		 pa.sortorder, 
    		 pov.products_options_values_id,  
    		 pov.products_options_values_name,  
    		 pov.products_options_values_desc,  
    		 pov.products_options_values_image
      FROM   products_attributes pa
      INNER JOIN products_options_values pov
      ON pa.options_values_id = pov.products_options_values_id	
      WHERE language_id=2 && products_id=$id  
      ORDER BY  pa.options_values_id ASC
      ");
      $bubu=xtc_db_num_rows($get_attri);
      
      
    ?>
    <table width='100%' border='1' bordercolor="#666666" cellspacing='0' cellpadding='0'>
      <tr>
        <td valign='middle'><div align='center'>Bild</div></td>
    	<td valign='middle'><div align='center'>Attri Name</div></td>
    	<td valign='middle'><div align='center'>Sortierung</div></td>
    	<td valign='middle'><div align='center'>Artikel Nr.</div></td>
    	<td valign='middle'><div align='center'>Gewicht</div></td>
    	<td valign='middle'><div align='center'>Präfix Gewicht</div></td>
    	<td valign='middle'><div align='center'>Preis</div></td>
    	<td valign='middle'><div align='center'>Präfix Preis</div></td>
    	<td valign='middle'><div align='center'>Lager</div></td>
    	<td valign='middle'><div align='center'>Lager Product</div></td>
      </tr>
    <?php
    while($ergebnis2=xtc_db_fetch_array($get_attri)){
    ?>
      <tr> <form action='<?php $_SERVER['PHP_SELF']?>' method='post'>
        <td valign='middle'><div align='center'><input type='text' name='products_attributes_id' value='<?php echo $ergebnis2['products_attributes_id'];?>'>' width='30' height='15'></div></td>
    	<td valign='middle'><div align='center'><?php echo $ergebnis2['products_options_values_name'];?></div></td>
    	<td valign='middle'><div align='center'><input type='text' name='sortorder' value='<?php echo $ergebnis2['sortorder'];?>' size='1'></div></td>
    	<td valign='middle'><div align='center'><input type='text' name='attri_model' value='<?php echo $ergebnis2['attributes_model'];?>' size='10'></div></td>
    	<td valign='middle'><div align='center'><input type='text' name='gewicht' value='<?php echo $ergebnis2['options_values_weight'];?>' size='5'>kg</div></td>
    	<td valign='middle'><div align='center'><select name='gewicht_pr'>
    											<option value='<?php echo $ergebnis2['weight_prefix'];?>'><?php echo $ergebnis2['weight_prefix'];?></option>
    											<option value='-'>-</option>
    											</select></div></td>
    	<td valign='middle'><div align='center'><input type='text' name='preis' value='<?php echo $ergebnis2['options_values_price'];?>' size='5'></div></td>
    	<td valign='middle'><div align='center'><select name='preis_pr'>
    											<option value='<?php echo $ergebnis2['price_prefix'];?>'><?php echo $ergebnis2['price_prefix'];?></option>
    											<option value='-'>-</option>
    											</select>
    											</div></td>
    	<td valign='middle'><div align='center'><?php echo $ergebnis2['attributes_stock'];?></div></td>
    	<td valign='middle'><div align='center'>
    	<?php
    	$get_lager_product=xtc_db_query("
    	Select products_model, products_quantity
    	FROM products
    	WHERE products_model='".$ergebnis2['attributes_model']."'
    	");
    	while($ergebnis3=xtc_db_fetch_array($get_lager_product)){
    	  echo $ergebnis3['products_quantity'];
    	}//while2 zu
    	?>
    	</div></td>
      </tr>
    <?php
    }//while zu
    ?>
      <tr>
        <td valign='middle' colspan='10'><div align='left'><input type='submit' name='go_wyda' value='speichern'></div></td>
      </tr></form>
    </table> 
       
    <?php
    }//isset zu
    else{
    ?>
    und dann oben die auswertung
    Code:
    <?php
    if(isset($_POST['go_wyda'])){
      $products_attributes_id =$_POST['products_attributes_id'];
      $sortorder=$_POST['sortorder'];
      $attri_model=$_POST['attri_model'];
      $gewicht=$_POST['gewicht'];
      $gewicht_pr=$_POST['gewicht_pr'];
      //$preis=$_POST['preis'];
      $preis_pr=$_POST['preis_pr'];
      
        for ($i = 0; $i < sizeof($_POST['products_attributes_id']); $i++) {
        $query = "SELECT * FROM products_attributes where products_attributes_id  = '" . $_POST['products_attributes_id'][$i] . "'
    ";
        echo $query;
        }
      
    }//isset zu
    ?>
    bei sizeof gibt er immer nur 1 aus und ich bekomme dadurch auch nur einen query raus...
    was mache ich falsch kann mir jemand nen tipp geben?
    besten dank im voraus

    greetz Jabi

  • #2
    so sieht das formular aus:

    Kommentar


    • #3
      while($ergebnis2=xtc_db_fetch_array($get_attri)){
      ?>
      <tr> <form action='<?php $_SERVER['PHP_SELF']?>' method='post'>

      Wieso beginnst du das Formular innerhalb deiner While-Schleife?

      Kommentar


      • #4
        hatte es schon ausserhalb und es ging auch net ..

        Kommentar


        • #5
          Innerhalb gehts garantiert nicht.

          Schon mal den Quelltext des Formulars angeschaut, ob das stimmt?

          Kommentar


          • #6
            hab das formular nun außerhalb begonnen...
            die daten werden ja korekt über geben .. aber nur von der ersten zeile

            ich würde nur gern wissen wie ich die daten aller zeilen haben kann ? damit ich dann die db updaten kann ?

            Kommentar


            • #7
              ><input type='text' name='products_attributes_id'
              Probiere mal beispielsweise mit einem Array:
              'products_attributes_id[]'

              und schau, was dann passiert, sprich in deinem $_POST ankommt.

              Kommentar


              • #8
                steht nur array da ...

                Kommentar


                • #9
                  tja, weils vielleicht dann ein array ist?

                  print_r($_POST);

                  Kommentar


                  • #10
                    Zitat von Jabi
                    steht nur array da ...
                    print_r($_POST);
                    print_r($_POST['products_attributes_id']
                    etc.

                    Mit deinen Kenntnissen an XTCommerce rumzustricken, ist schon etwas gewagt, oder? Und da es sich wohl um kommerzielles Produkt handelt, warum nimmst du dir nicht kommerzielle Hilfe?

                    Gruß
                    phpfan

                    Kommentar


                    • #11
                      *löl* ... Wär mal ne idee ...

                      und am besten uns mal hier rein shcreiben was da ausgegeben wird ...

                      Kommentar


                      • #12
                        ah
                        ausgegeben wird : Array ( [1] => 925 )
                        danke,
                        nur bekomme ich immer noch nur den letzten wert aus der schleife raus
                        also die letzte zeile

                        Kommentar


                        • #13
                          Zitat von Jabi
                          ah
                          nur bekomme ich immer noch nur den letzten wert aus der schleife raus
                          also die letzte zeile
                          Das glaube ich nicht, es sei denn, du hast einen der hier geschriebenen Hinweise falsch umgesetzt.

                          Gruß
                          phpfan

                          Kommentar


                          • #14
                            mmh ...

                            also du öffnest dein formular in der While Schleife ... alles gut und schön aber müsstest du es nicht dann da auch wieder schließen?

                            Ich wollte mal ne Tabelle darstellen mit Werten aus der Datenbank, die ich dann auch einzeln abändern wollte. Sah im Prinzip ähnlich wie bei dir aus. Ich hatte das <form> außerhalb der While schleife... Die Tabelle wurde zwar dargestellt mit allen Werten aber ich hatte auf dem Submit-Button nach der Übergabe immer nur den letzten SELECT der DB. Es efolgt ja keine Zwischenspeicherung, es sei denn dein <input name="irgendwas"> hat is nen array "irgendwas[]".

                            Also habe ich das Formular in der Whileschleife gemacht (aber auch den Submitbutton innerhalb)...So hab ich dann in jeder Zeile auch nen Submit-Button der mir nur die Werte der Zeile übergibt.

                            Wenn du alle Tabellenwerte übergeben willst, dann <form> außerhalb öffnen UND schließen und die <input>-Werte bei jeden Durchlauf in nen Array schreiben ... siehe mepeisen ...

                            --- kein "gewehr" für richtigkeit --- ^^

                            Kommentar


                            • #15
                              ... du hattest recht ...

                              ArrayArray ( [0] => 920 [1] => 919 [2] => 918 [3] => 917 [4] => 916 [5] => 915 [6] => 924 [7] => 923 [8] => 922 [9] => 921 [10] => 926 [11] => 925 )

                              ...ka warum das beim ersten mal aktualisieren net hingehauen hat

                              Kommentar

                              Lädt...
                              X