- 我正在使用php和mysql数据库
- 我正在做我的宴会厅预订项目
- 我在预订订单中使用日期选择器
我尝试做/怎么做?
- 如果 else/validation; 也就是说,我已经在数据库中输入的日期不能在第二次输入相同的日期。
谁能帮我如何编码?
<?php
include 'connection.php';
$date = $_POST['date'];
$rand = rand ();
session_start();
$_SESSION['random']=$rand;
$type = $_POST['typeofballroom'];
$setup = $_POST['setup'];
$name = $_POST['name'];
$conNum = $_POST['contactnumber'];
$email = $_POST['email'];
$themes = $_POST['theme'];
$menu = $_POST['menu'];
$note = $_POST['notes'];
$query = "SELECT * FROM ballroom_form WHERE date = '$date' ";
$result = mysql_query($query);
$person = mysql_fetch_array($result);
if($date == $person['date']) {
echo "unvalid refference number";
}
else
{
mysql_query ("INSERT INTO ballroom_form (`ID`,`random_number`,`ballroom_type`,`set_up`,`date`,`name`,`contact_number`,`email`,`themes`,`menu`,`note`) VALUES (NULL,'$rand','$type','$setup','$date','$name','$conNum','$email','$themes','$menu','$note')") or die(mysql_error());
echo "user has been added";
header ('location: randomNum.php');
}
?>
当我输入相同的日期时,它仍然继续 ELSE。 .我已经检查了所有表单名称,日期名称,数据库属性,没有错别字没有问题。
在插入数据库之前,创建一个返回 bolean 值的函数并检查该用户输入的日期是否已在数据库中,如果函数返回 true,则表示日期已经在数据库中,因此向用户显示消息否则插入。伪代码将是
If(checkdateindatabase())
(
//show error to user
)
Else (
Do inset
)
这是分步的答案。
- 检查数据库中是否已存在用户选择的日期。
- 如果不存在,请继续使用脚本并进行保留。
- 如果日期已存在,请回显相应的错误。
请务必使用 MySQLi 或 PDO 准备语句,而不是现在已弃用的 mysql_* 函数。此链接解释了基础知识,并提供了其他阅读材料的链接。http://mattbango.com/notebook/code/prepared-statements-in-php-and-mysqli/
据我了解您的问题,这是答案。在创建表的数据库中 开始日期。你可以使独特的.或其他解决方案是,您可以进行编码,使其无法提交重复的日期。就像现在有人发布表格一样,你的约会在例如。
$sql ="从日期= '$variable 1'的表中选择 *"; $result = mysql_query($sql) ;
而 ($row = mysql_fetch_assoc($result)){ foreach ($row as $value){回声"请使用其他日期";
}
}
if(empty($value))
{
header('location:yourpage.php');
exit();
}
?>通过这种方式,您可以检查是否有人没有使用相同的日期。