我有一个从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/