获得一个多选框的所有值的最佳方法是什么,然后我想将这些值保存在数据库的一行中,然后从该行希望将每个值分开。做这样的事情最好的方法是什么?我的目标是保存这些值,然后将每个值分开。从选择倍数获取值并将它们存入数据库
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. 从两个http req获取数据并将它们合并
- 3. Jquery:获取复选框值并将它们用作URL参数
- 4. 如何遍历值并将它们插入数据库中
- 5. 访问数据库中的数据并将它们放入String []
- 6. php - 在数据库中存储复选框值并读取它们
- 7. 从数据库1中选择*并插入数据库2
- 8. 如何读取数据块并将它们存储在数据库中?
- 9. 从表中获取数据,并根据选择值笨
- 10. 选择数字并插入数据库?
- 11. 如何从MySQL数据库中获取数据并将它们插入到Python中的mysqldb的wx.ComboBox中
- 12. 提取参数,并将它们传递到数据库
- 13. 如何从MySql数据库中获取结果并将它们发送回API.ai
- 14. 试图从数据库varchar字符串获取并将它们放到标签
- 15. 如何从数据库中提取数据并将它们作为ListView查看
- 16. 如何从数据库中选择行并用复选框显示它们?
- 17. 如何获得选择倍数的值?
- 18. 获取数据,并将其与值从
- 19. Laravel - 获取选择菜单的值输入到数据库
- 20. PHP从CSV获取数据,并再次将它们写入相同的CSV
- 21. 捕获倍数值用javascript选择倍数
- 22. 将数据输入数据库并读取它
- 23. 获取JavaScript Params并将它们写入
- 24. 在从ajax获取值之后选择数据库时出错
- 25. 如何从选择标记中获取值到数据库
- 26. 从多个表中选择数据并打印它们
- 27. 如何从DB2数据库获取值并将其分配给Oracle数据库?
- 28. 从状态数据框中选择列它们存在
- 29. 从级联选择框中的数据库获取数据
- 30. Python读取CSV并将值存入MySQL数据库
难道他们提交的数据?另外,你想插入的表格看起来像什么? – 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