我正在制作一个插入移动数据页面,对于我已创建下拉菜单的品牌,该下拉菜单可以正常工作,但是当我插入移动数据时,将品牌ID插入数据库但未插入品牌标题,为什么?
// code for dropdown menu
<tr>
<td style="color:#fff"><b>Mobile Brand</b></td>
<td>
<select name="Mbrand">
<option>Select Brand</option>
<?php
$get_brands = "select * from brands";
$run_brands = mysqli_query($con, $get_brands);
while ($row_brands=mysqli_fetch_array($run_brands))
{
$brand_id = $row_brands['brand_id'];
$brand_title = $row_brands['brand_title'];
echo "<option value='$brand_id'>'$brand_title'</option>";
}
?>
</select>
</td>
</tr>
----------------------------
// code for defining data
<?php
if(isset($_POST['insert_mobile'])){
//text data variables
$mobile_title=$_POST['Mname'];
$mobile_price=$_POST['Mprice'];
$mobile_brand=$_POST['Mbrand'];
$mobile_desc=$_POST['mdesc'];
$mobile_keywords = $_POST['key'];
-----------------------------
//code for inserting data
$insert_mobile = "insert into mobile_phone (mobile_name,brand_id,date,price,img1,img2,img3,mobile_desc,product_keywords) values ('$mobile_title','$mobile_brand',NOW(),'$mobile_price','$mobile_img1','$mobile_img2','$mobile_img3','$mobile_desc','$mobile_keywords')";
$run_mobile= mysqli_query($con,$insert_mobile);
if($run_mobile)
{
echo "<script>alert('mobile added successfully')</script>";
exit();
}
答案 0 :(得分:0)
请尝试在选项值中使用$ brand_title而不是$ brand_id。
echo "<option value='$brand_id'>'$brand_title'</option>";
将成为
$brand = $brand_id.':'.$brand_title;
echo "<option value='$brand'>'$brand_title'</option>";
修改
选项值实际上是在$ _POST []值中传递的值,可以根据需要存储在数据库中。
修改 替换下面的代码
$mobile_brand=$_POST['Mbrand'];
使用
$brand_id = explode(':', $_POST['Mbrand'])[0];
$brand_title = explode(':', $_POST['Mbrand'])[1];
然后请相应地更改“插入”查询,以便它可以容纳或存储 brand_id 和 brand_title 在相应的列中。在运行脚本之前,请检查这些列的数据类型。