我有一个从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完成吗?怎么样?

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

最佳答案

您可以使用复合查询来执行此操作,该查询将检查类别是否在数据库中,如果没有,则将其插入。

参见示例:

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是连接。
这可能对您有帮助。让我知道它是否有效。

关于php - 根据所选类别检查重复值,并避免插入到mysql中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35405709/

10-11 22:23
查看更多