Brand_title是否未保存在数据库中?

时间:2019-04-02 00:09:39

标签: php html mysql

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

 }

1 个答案:

答案 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 在相应的列中。在运行脚本之前,请检查这些列的数据类型。