2011-06-10 30 views
0

我正在做一些學習PHP和和使用smarty來幫助它的HTML。 我試圖建立一個非常簡單的商店一樣的購物車圖像列表,當它被點擊時,它應該通過表單返回我想從該商品獲取的信息,但我無法獲得正確的商品索引....如何在html/php表單中動態訪問數組表單位置?

這是相對於內部TLP循環中的代碼(它是內部使用的smarty一個HTML):

{section name=i loop=$homeList} 
    <div class="homemenu" align="right"> 
     <table class="menhome" border="0"> 
      <tr> 
      <td width="102"><img src="{$homeList[i].img}"/></td> 
      <td width="150">{$homeList[i].Nome} </td> 
      <td width="350">{$homeList[i].Descricao}</td> 
      <td width="80">{$homeList[i].Preco} €</td> 
      <td width="80">{$homeList[i].Disponiblidade}</td> 
      <td><form action="updatecart.php" method="POST"> 
       <input type="hidden" name="usr[]" value="abobora"> 
       <input type="hidden" name="iditem[]" value="{$homeList[i].IDItem}"> 
       <input type="hidden" name="qta" value="1"> 
       <input type="hidden" name="index" value="1"> 
       <input type="image" name="submit" src="../images/carro.png" width="52" height="52"> 
      </td> 
      </tr> 
     </table> 
    </div> 
{/section} 

,這是相對於「實驗」的PHP更新代碼:

require_once("functions.php"); 
var_dump($_POST); 

並且這是一個樣本var_dump輸出:

array 
'usr' => 
    array 
     0 => string 'abobora' (length=7) 
     1 => string 'abobora' (length=7) 
     2 => string 'abobora' (length=7) 
     3 => string 'abobora' (length=7) 
     4 => string 'abobora' (length=7) 
    'iditem' => 
    array 
     0 => string 'it10' (length=4) 
     1 => string 'it13' (length=4) 
     2 => string 'it2' (length=3) 
     3 => string 'it20' (length=4) 
     4 => string 'it21' (length=4) 
    'qta' => string '1' (length=1) 
    'index' => string '1' (length=1) 
    'submit_x' => string '22' (length=2) 
    'submit_y' => string '27' (length=2) 

的事情是:我怎麼告訴了形式單一​​的按鈕有一個奇異指數的陣列,並獲得該陣列內的正確的信息訪問?

PS:指數=「1」在這裏只是一個實驗值,我想有相對於指數

PSS的信息是:對不起,壞的輸出格式,但有些時候,我只是不明白的代碼標籤的工作原理....

+0

代碼標籤幫助 - 我只是強調所有的代碼,然後單擊看起來像這樣{}工具欄上的按鈕...只是FYI – 2011-06-10 22:46:32

+0

@dqhendricks因爲有人告訴....它不是我的選擇 – John 2011-06-10 22:49:47

回答

1

我不確定我理解正確的問題,但你要找的東西,如:

<input type="hidden" name="usr[{index_in_array}]" value="abobora"> 
<input type="hidden" name="iditem[{index_in_array}]" value="{$homeList[i].IDItem}"> 

編輯:您不關閉<form>個正確,that's爲什麼你不容依靠,它們會在發送的索引值:

 <td><form action="updatecart.php" method="POST"> 
      <input type="hidden" name="usr[]" value="abobora"> 
      <input type="hidden" name="iditem[]" value="{$homeList[i].IDItem}"> 
      <input type="hidden" name="qta" value="1"> 
      <input type="hidden" name="index" value="1"> 
      <input type="image" name="submit" src="../images/carro.png" width="52" height="52"> 
      </form>   // added 
     </td> 
+0

其實在其他的PHP它是作爲一個數組接收(如顯示在輸出示例),問題是,在updatecart.php我想要在該表單中的n元素數組相關的信息,但問題是,我得到的ID始終是最後一個。例如:我點擊列表中的第三個元素,在另一側顯示關於第三個元素的信息(這意味着按鈕「知道」什麼是索引值),但我總是得到的是最後一個元素信息 – John 2011-06-10 23:11:44

+0

換句話說,它應該發生的是我創建的每個表單都可以獨立於其他表單存儲它的索引值,給我一個iditem數組內的選擇 – John 2011-06-10 23:21:42

+0

@John我想我現在明白了,看到我更新的答案。 – jeroen 2011-06-10 23:30:01

相關問題