根据选择的类别检查重复值,避免插入mysql

时间:2016-02-15 09:33:01

标签: php mysql

我有从mysql和文本框中提取的类别的选择选项以输入该类别的值,并提交按钮以在数据库中输入该值,如下所示。

HTML Page

现在选择类别后,我只在该文本框中输入该特定类别的一些值,然后点击提交按钮。但在我插入之前,我想检查该类别的重复值,所以当我点击提交按钮时,它应检查数据库中db的值是否为所选类别,如果值已经存在,则显示错误,否则插入到db。

我的代码

的index.php

       <form action="action.php" enctype="multipart/form-data" method="post">


       <div class="row">

        <div >

         <label>Category</label>
          <br>


        <select name="cat" id="cat" style="width:100%;height:0.27in" required >
      <option  value="0000" selected="selected">Select cat</option><?php
       include ('connection.php');
        $qry_sel_dept="select * from general_master where name_cd = 'Ptype' ";
        $qry_sel_dept_exe=mysql_query($qry_sel_dept);

        while($fetch=mysql_fetch_array($qry_sel_dept_exe)){
        ?>
                <option  value="<?php echo $fetch['c_id'];?>" ><?php echo $fetch['category'];?></option>

              <?php }

              ?></select>
       <input type="text" name="te" id="te" />
        <input type="submit" name="submit" id="submit" />

action.php

      <?php
     include('./../connection.php');
     if(isset($_POST['submit'])){
     $cat=$_REQUEST['cat'];
     $te=$_REQUEST['te'];

      $sqlc= mysql_query("INSERT INTO general_master set category='".$cat."' , name= '".$te."' " );

      }
      ?>

mysql表包含

  • C_ID

  • 类别

  • 名称

可以使用javascript和ajax完成吗?怎么样?

任何帮助将不胜感激。提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用复合查询,查询类别是否在数据库中的查询,如果不是则插入。

参见示例:

include('./../connection.php');
if(isset($_POST['submit'])){
    $cat = $_REQUEST['cat'];
    $te = $_REQUEST['te'];

    $sql = "INSERT INTO general_master
    (category, name)
     SELECT * FROM (SELECT '$cat', '$te') AS tmp
    WHERE NOT EXISTS (
        SELECT category FROM general_master WHERE category = '$cat'
    )";
    $sqlc = mysqli_query($con, $sql);
}

$con是连接。 这可能对你有所帮助。让我知道这是否有效。