从select multiple中获取值,并将它们放入数据库
Get values from select multiple and get them in to database
获取一个多选框的所有值的最佳方式是什么,然后我想将这些值保存在数据库的一行中,然后从该行中单独获取每个值。做这样的事最好的方法是什么?我的目标是保存这些值,然后将它们分开。
你可以这样做
<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
然后你会有一个更容易搜索和操作的数据库,它是一致的。
我认为您应该接收在$_POST变量中作为数组选择的值,因此假设您的选择具有name="products"
假设您通过POST提交表单,所选的值将以$_POST["products"]为单位。
然后您可以使用内爆函数来生成一个字符串。例如:
$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.
希望这有帮助:)
如果我能很好地理解你的问题。。。
$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>';
}
获取一个多选框的所有值的最佳方法是什么
既然是PHP。给select元素一个以[]
结尾的名称,然后您可以将其作为$_POST['foo'][]
访问
然后我想将这些值保存在数据库中的一行中,然后从该行中单独获取每个值。
不要那样做。第二张表有两列。另一个表(计划在其中存储数据)中的行的id(作为外键)和值本身。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 使用javascript从数据库中添加表
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 如何使用 Angular JS 将数据保存在数据库中
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 在谷歌地图上绘制位置数据库
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将地理编码结果转换为php变量以发布到mysql数据库
- 从数据库中检索字段,而不模拟它们
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 在cordova android应用程序中连接数据库
- 根据条件检查数据库结果
- Jquery(多读/少读)在从数据库加载整个数据后不起作用
- 从select multiple中获取值,并将它们放入数据库