2011-12-06 38 views
1

我有一個PHP腳本,生成具有隱藏的輸入標籤,有title1,title2等和price1,price2等名稱的錶行。用戶有能力刪除和添加行,因爲他們認爲合適。我的問題是,當我提交行時,我怎樣才能讀取這些隱藏的輸入,無論是通過PHP或JavaScript?在javascript中通過行號訪問表的元素?

編輯:抱歉缺乏細節。下面是一些代碼:

產生的行

$result = mysql_query("SELECT * FROM `table`"); 
$i=0; 
while ($list = mysql_fetch_array($result)) 
{ 
$i++; 
$title = $list['title']; 
$price = $list['price']; 
$plu = $list['plu']; 

?> 

<tr id="row<?php echo $i; ?>"><td><input type="hidden" name="title<?php echo $i; ?>"  value="<?php echo $title; ?>"></td></tr> 
<tr><td><input type="hidden" name="price<?php echo $i; ?>" value="<?php echo $price; ?>"></td></tr> 
<tr><td><input type="hidden" name="plu<?php echo $i; ?>" value="<?php echo $plu; ?>">  </td></tr> 

<?php 
} 
?> 

現在,如果用戶可以刪除行,我知道我可以告訴到底有多少行有PHP的,但是當談到時間來閱讀和保存他們爲了我迷路了。

+1

你可以給一個錶行的例子嗎? – ComputerSaysNo

回答

2

我不確定你會保證根據頁面上的位置獲得它們,但既然你可以自己命名元素,你可以將它們命名爲title[1]title[2],...

例如:

<input type="hidden" name="title[1]" value="foo"> 
... 
<input type="hidden" name="title[2]" value="bar"> 

這將允許您通過訪問提交的元素在PHP中,例如:

$_POST['title'][1], $_POST['title'][2], etc. 
+1

通過一個循環,像'for'或'while' – Jakub

+0

當我需要訪問它們時,我該如何知道有多少行? – kaymeezy

+0

'count($ _ GET ['title'])'應該給你你想要的。你可以像'foreach($ _ GET ['title'])那樣遍歷它們,如$ k => $ v){/ *用$ _GET ['title'] [$ k] * /}做一些事情' – jedwards

0

對於每個值,您只能使用一個或兩個(用於標題和價格)隱藏輸入而不是單獨的輸入......您只需使用';','#'等特殊字符作爲去槓桿分開每個值..當用戶刪除行只是從整個字符串中刪除該值....你可以輕鬆地使用JavaScript ..

所以最終你將不得不提交只有一個(或兩個)隱藏值...

+2

你的答案不是答案,請將它作爲評論發佈...... – Jakub

+0

你可以給我一個如何存儲然後單獨讀出它們的例子嗎? – kaymeezy