我正在制作一个插入移动数据页面,对于我已经创建了下拉菜单的品牌,该下拉菜单可以正常工作,但是当我插入移动数据时,品牌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();

 }

最佳答案

请尝试在选项值中使用$ 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。在运行脚本之前,请检查这些列的数据类型。

关于php - Brand_title没有保存在数据库中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55465190/

10-11 03:14
查看更多