2011-07-07 57 views
1

我已經廣泛搜查,但找不到答案...希望有人能幫助:phpMyAdmin的複選框顯示「陣列」

我是一個新手,PHP和MySQL用戶,並與複選框問題。

我有一個簡單的HTML頁面,其中包含複選框。 該頁面鏈接到PHPmyadmin中的MySQL數據庫。

的HTML是:

<html><p>User1<input type="checkbox" name="Users[]" id="Users1" value="1"/></p> 
<p>User2<input type="checkbox" name="Users[]" id="Users2" value="2"/></p> 
<p>User3<input type="checkbox" name="Users[]" id="Users3" value="3"/></p> 
<p>User4<input type="checkbox" name="Users[]" id="Users4" value="4"/></p></html> 

我要的是在填寫表格的人來檢查值的1或更多,然後到在phpMyAdmin顯示的檢查值,這樣我可以導出它們。

但是,使用此PHP時:

$values = implode(',', $_POST['Users']); 

所有我在phpMyAdmin得到的是「陣列」,我想不出如何讓要顯示的實際值。

由於提前,

+0

似乎沒有hing錯誤'$ values = implode(',',$ _POST ['Users'])'。你究竟想要在PHPMyAdmin中顯示什麼? 'implode()'總是返回一個字符串,而不是一個數組。看來你正在嘗試使用'echo'來顯示一些數組;改爲使用print_r() – Abhay

+1

嘗試'var_dump($ _ POST);退出()'在腳本的頂部,以確切地看到提交的內容。如果'Users'參數在那裏顯示正常,那麼代碼中的其他內容就會修改$ _POST數組中的值。 –

回答

1

你可以得到所有的值通過循環檢查:

$userChecked = $_POST['Users']; 
for ($i=0; $i<count($userChecked); $i++) { 
    echo(($i+1) . ") " . $userChecked [$i] . "<br/>"); 
} 

這將顯示所有的ID。你可以將它們插入到數據庫中,或者做你想做的事情,而不是回聲。該值將循環中:$ userChecked [$ i]

@Daok:是的,這顯示值 在結果頁面上,但在 phpMyAdmin的,但它仍然表明 「陣列」。我如何得到它顯示 的值?

PhpMyAdmin只是一個管理php/mysql的工具。我想你的意思是你的數據庫中寫有「數組」?如果你想有一個字段(VARCHAR)內的所有值比你只需要implode

$comma_separated = implode(",", $_POST['Users']); 
//Code here to Insert to you database with ...value($comma_separated)... 

如果你想爲每個條目1行:

$userChecked = $_POST['Users']; 
for ($i=0; $i<count($userChecked); $i++) { 
    //Insert Sql statement here with value($userChecked [$i]) 
} 
0

嘗試

$values = implode(',', (array)$_POST['Users']); 

Users=array(); 
$values = implode(',', $_POST['Users']);