2010-11-29 10 views
0

Je possède ce formulaire:Tirer toutes les valeurs de forme d'un tableau posté

<form method="post" action="mypage.php" orderform="" name="" id="orderform"> 
<a id="add">+</a> 
<table width="533" cellspacing="0" cellpadding="2" border="0" id="ordertable"> 
    <tbody> 
    <tr> 
     <td width="33%">Product Code (e.g 66203)</td> 
     <td width="33%">mtrs sq Required (e.g 10)</td> 
     <td width="33%">Preview Image</td> 
    </tr> 
    <tr class="item"> 
     <td class="prodcode "><input type="text" id="prodcode[]" name="prodcode[]" class=" "></td> 
     <td class="meterage"><input type="text" id="meterage[]" name="meterage[]"></td> 
     <td class="imgsample"></td> 
    </tr> 
    <tr class="item"> 
     <td class="prodcode "><input type="text" id="prodcode[]" name="prodcode[]" class=" "></td> 
     <td class="meterage"><input type="text" id="meterage[]" name="meterage[]"></td> 
     <td class="imgsample"></td> 
    </tr> 
    </tbody> 
    </table> 
    <button>Submit</button> 
</form> 

Je suis en train de recevoir le message et imprimer la valeur du produit associé avec son meterage ... comme ci-dessous (ceci semble seulement retourner le dernier résultat) des idées?

$number_of_products=count($_POST['prodcode']); 
    for ($i=0; $i<$number_of_products; $i++){ 
     $orderdetails = $_POST['prodcode'][$i]." has the meterage: ".$_POST['meterage'][$i]."<br/>"; 
    } 

Répondre

3

Vous écrasez le contenu de OrderDetails $ à chaque fois que la boucle est exécutée.

Essayez quelque chose comme ceci:

$number_of_products=count($_POST['prodcode']); 
$orderdetails = "<h1>Order Details</h1>"; 
for ($i=0; $i<$number_of_products; $i++){ 
     $orderdetails .= $_POST['prodcode'][$i]." has the meterage: ".$_POST['meterage'][$i]."<br/>"; 
} 
+0

Merci, quel potard! :) – Andy

+0

Pas de problème. Parfois, il faut 1 autre paire d'yeux pour attraper des choses comme ça. – MikeNGarrett

0

Essayez les indexer sur vos champs de saisie des noms prodcode[] et meterage[], i.e. .:

<form method="post" action="mypage.php" orderform="" name="" id="orderform"> 
<a id="add">+</a> 
<table width="533" cellspacing="0" cellpadding="2" border="0" id="ordertable"> 
    <tbody> 
    <tr> 
     <td width="33%">Product Code (e.g 66203)</td> 
     <td width="33%">mtrs sq Required (e.g 10)</td> 
     <td width="33%">Preview Image</td> 
    </tr> 
    <tr class="item"> 
     <td class="prodcode "><input type="text" id="prodcode_0" name="prodcode[0]" class=" "></td> 
     <td class="meterage"><input type="text" id="meterage_0" name="meterage[0]"></td> 
     <td class="imgsample"></td> 
    </tr> 
    <tr class="item"> 
     <td class="prodcode "><input type="text" id="prodcode_1" name="prodcode[1]" class=" "></td> 
     <td class="meterage"><input type="text" id="meterage_1" name="meterage[1]"></td> 
     <td class="imgsample"></td> 
    </tr> 
    </tbody> 
    </table> 
    <button>Submit</button> 
</form> 
+0

je devais garder le tableau tel qu'il était, mais je vous remercie. pour votre contribution! très appréciée. – Andy

+0

Oui, MikeNGarrett avait raison. :) –

0

parce que vous remplaciez chaque changement $ OrderDetails = à $ OrderDetails =

+0

:-) Silly moi! Merci – Andy

Questions connexes