我有一个类别表
id catname
1 C1
2 C2
从下拉菜单中,我试图将所选值的名称和 ID 带到后端并保存在数据库中。
下拉菜单的代码是:
<select name="catname">
<?php
require 'connection.php';
$sql = "SELECT * FROM category";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result))
{
$catname=$row["catname"];
$catid=$row["id"];
?>
<option value="<? echo $catname;?> <? echo $catid;?>"><? echo $catname;?></option>
<?}
}?>
</select>
后端代码:
<?php
require 'connection.php';
$subcatname = mysqli_real_escape_string($con, $_POST['subcatname']);
$catname = mysqli_real_escape_string($con, $_POST['catname']);
$catid = mysqli_real_escape_string($con, $_POST['catid']);
$sql="INSERT INTO subcategory(catname,catid,subcatname) VALUES ('$catname','$catid','$subcatname')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?>
存储值后子类别表的 View 应该是这样的
id catname catid subcatname
1 C2 2 S1
问题是当我选择一个类别时,catname 和 catid 的值在相同的参数下。例如。数据库中的值是这样存储的
id catname catid subcatname
1 C2 2 S1
谁能告诉我如何以正确的方式做到这一点
最佳答案
您应该将类别名称和类别 ID 存储在下拉列表中,然后在传递给查询之前拆分。这样做:
设置您的选项,如:
<option value="<? echo $catname.'-'.$catid;?>"><? echo $catname;?></option>
因此,您在 post 中获得该值,然后拆分如下:
$catdetail = mysqli_real_escape_string($con, $_POST['catname']);
list($catname, $catid) = explode('-', $catdetail);
并传递两个变量
$catename & $catid
在 query
.让我知道以获得更多帮助。
关于php - 2 个不同的值存储在数据库的一列下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29026243/