2014-05-14 44 views
-2

我想將張貼的數組上傳到數據庫表中。用戶在表單中寫入應該上傳到數據庫中的文本。我已閱讀和了解的是,我應該創建數組是這樣的:如何使用PHP服務器端POST數組

<li> <input type='checkbox' name='R[]' id='R[]'> <label>"+ userInput + "</label> </li> 

和每一位用戶創建將成爲R元素[0],R [1],R [2] ... ..等...

我的問題是,如何在服務器端讀取此數組?我如何知道服務器端數組中有多少個元素?

在服務器端我會做這樣的插入:

$sql="INSERT INTO $tbl_name (R) VALUES('$R1');"; 
$sql2="INSERT INTO $tbl_name (R) VALUES('$R2');"; 

,如果它是不是一個數組我想簡單地定義R1和R2這樣的:

$R1=$_POST["R1"]; 
$R2=$_POST["R2"]; 

,但我不知道如何管理陣列。

謝謝!

+0

定義''的值attr。 '$ R1 = implode(「','」,$ _POST [「R1」]);'在你的情況。記住一個SQL注入的可能性。 – Deadooshka

+0

[搜索引擎應該總是在提問前使用**](http://google.com) – Anonymous

回答

3

如何在服務器端讀取此數組?

就像你將任何數組。

echo $_POST['R'][0]; // get first element in that array 
echo $_POST['R'][2]; // get third element in that array 

我怎麼知道有多少元素是從服務器端陣列中?

就像你對任何數組。通過使用count()

echo count($_POST['R']); 

但如何做透的元素我循環?因爲我想發佈所有人

就像你會任何陣列。使用循環。

foreach ($_POST['R'] as $r) { 
    // do something 
    // echo $r; 
} 

僅供參考,您不需要輸入元素的ID屬性的數組語法。但你確實需要確保它是獨一無二的。

+0

但我如何循環瀏覽元素?因爲我想發佈他們所有的... – emp233

+0

我的答案的重點是向你展示這只是一個普通的數組。這裏沒有什麼特別的。查看我的更新回答,瞭解如何循環訪問此數組。 –

+0

好吧我知道了...所以我只是做這 foreach($ _POST ['R']作爲$ r){ \t \t $ sql3 =「INSERT INTO REG(ID_User,Reg)VALUES('$ userid 」, '$ R');「; \t \t $ tab = mysql_query($ sql3,$ dbh)或die(「error」); \t} 那樣所有的元素都會被加到數據庫中 – emp233

相關問題