獲得一個多選框的所有值的最佳方法是什麼,然後我想將這些值保存在數據庫的一行中,然後從該行希望將每個值分開。做這樣的事情最好的方法是什麼?我的目標是保存這些值,然後將每個值分開。從選擇倍數獲取值並將它們存入數據庫
3
A
回答
3
你可以這樣來做
<select name="foo[]" multiple="multiple">
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="fish">Fish</option>
</select>
<?php
$pets = $_POST['foo'];
//sanitize and verify the input here. Escape properly and what not
$query = mysql_query("INSERT INTO `pets` (`pet1`, `pet2`, `pet3`) VALUES ('".$pets[0]."', '".$pets[1]."', '".$pets[2]."')");
?>
但要說實話,這是一個可怕的方式去建立一個數據庫。做任何有意義的事情都會非常煩人或困難。
爲什麼不能有以下數據庫設置:
用戶:
id | name
----------
1 | Tim
寵物:
id | user_id | type
-------------------
1 | 1 | Fish
2 | 1 | Cat
3 | 4 | Kakapo
然後你將有一個更容易得多搜索和可操作的數據庫,這是一致的。
2
我相信你應該得到選擇在$ _POST變量數組值這麼說你的選擇有一個名稱=「產品」
選擇將在$ _ POST [「產品」]假設你的價值觀通過POST提交表單。
然後你可以使用implode函數來生成一個字符串。例如:
$myProducts = implode("|", $_POST["products"]); //This will give you a pipeline delimeted string like : computer|laptop|monitor
$myProducts = mysql_real_escape_string($myProducts); //Just to santize before inserting in DB
然後只需將該字符串插入數據庫。
檢索數據時,你可以通過使用爆炸功能相反的過程:
$myProducts = explode("|" , [The value retrieved from the database]); //This will give you an array which you can iterate and thus accessing the values individually.
希望這有助於:)
0
是什麼讓一個多選框的所有值的最佳方式,
既然是PHP。給選擇元素的名稱在[]
結束,那麼你就可以訪問它們作爲$_POST['foo'][]
,然後我想在一排保存在數據庫中的值,然後從該行我想獲得單獨的每個值。
不這樣做。有兩列的第二張桌子。另一個表(您計劃存儲數據的位置)的行的id(作爲外鍵)和值本身。
1
如果我明白你的問題好...
$dataFromMultipleBox = array('data1', 'data2', 'data3');
$data = implode("||", $dataFromMultipleBox);
/*
After that,
write $data into database
fetch from the database again
*/
$pieces = explode("||", $rowFromDatabase);
foreach($pieces as $value) {
echo $value;
echo '<br>';
}
相關問題
- 1. 從數據庫獲取行並將它們插入另一個
- 2. Json_encode - 從數據庫中獲取值並將它們放入數組中
- 3. 從數據庫中獲取數據並將其放入選擇列表
- 4. 從選擇框中獲取數據並將其傳入參數
- 5. 如何從JavaScript獲取變量並將它們放入MySQL數據庫?
- 6. 選擇數據庫行並將它們視爲對象
- 7. 如何從json獲取數據以便將它們保存到數據庫中?
- 8. 從兩個http req獲取數據並將它們合併
- 9. 插入並從數據庫中選擇
- 10. Jquery:獲取複選框值並將它們用作URL參數
- 11. 如何遍歷值並將它們插入數據庫中
- 12. 訪問數據庫中的數據並將它們放入String []
- 13. 從元素中獲取ID並將它們放入數組中
- 14. php - 在數據庫中存儲複選框值並讀取它們
- 15. 從數據庫中獲取數據並將其放入SELECT TAG
- 16. 選擇從數據庫讀取的選項菜單並使用它的值
- 17. 從數據庫獲取價值並添加它的價值?
- 18. 從數據庫1中選擇*並插入數據庫2
- 19. 如何讀取數據塊並將它們存儲在數據庫中?
- 20. 如何捕獲數據包並將它們實時放入數據庫?
- 21. 從數據庫選擇列表中獲取選項值
- 22. 從sql中獲取值並將它們放在複選框中
- 23. 獲取多個數據,並將它們添加到多個數據庫條目
- 24. 從類中獲取值並將它們存儲在ArrayList中
- 25. 獲取HTML從和選擇框將它插入選定值
- 26. 選擇數字並插入數據庫?
- 27. 獲取字段數從數據庫,並插入值,以數據庫
- 28. 提取參數,並將它們傳遞到數據庫
- 29. 如何從MySQL數據庫中獲取數據並將它們插入到Python中的mysqldb的wx.ComboBox中
- 30. 獲取並從數據庫
難道他們提交的數據?另外,你想插入的表格看起來像什麼? – babonk 2011-05-27 06:56:07
你說的是mysql嗎? – Ibu 2011-05-27 06:56:18
是的mysql,嗯..只是一個表與varchar,就是它,或者它不是好方法? ID和值 – gambozygame 2011-05-27 06:58:32