2014-10-08 118 views
0

我很高兴再次问你,我有雇员休假的注册页面,包括5个字段 “员工姓名”,“休假类型”(一天假期, “假期日期”(用于一天假期和部分假期),“从”(如果插入小时然后是假期的一部分&如果插入日期然后长期假期)和最终的字段是“到”(如果插入小时然后是部分日子假期&如果插入日期然后长期假期)根据我的选择从下拉菜单中选择数据库

所以我需要做一个查询插入这些数据到我的数据库根据假期类型的选择,如果选择有一天假期,然后不需要插入(“从”和“吨” o“字段)到数据库只需插入员工姓名,一天假期和假期日期。

如果我选择了部分日假期,那么我必须输入员工姓名,假期类型=部分日期,假期日期,最后2个字段必须输入为小时,我已经选择它作为例如:from = 08:30 AM并且= 10:30 AM。

如果我选择了漫长的一天度假,那么我必须输入员工姓名,度假类型=漫长的一天,休假日期和最后2个字段必须输入日期,我已经选择它作为日期:从= 10/9/2014年和= 11/9/2014。

这是我工作的一部分,但我不能让它在一个查询工作

$employee_name=$_POST['employee_name']; 
$today = date("d/m/Y");   //date of vacation 
$vacation=$_POST['vacation'];  //part day, one day and long term vacation 
$start_hour=$_POST['start_hour']; //if i select part of day vacation hour from drop list 
$end_hour=$_POST['end_hour'];  //if i select part of day vacation hour from drop list 
$day_start=$_POST['day_start']; //if i select long term vacation from drop list 
$day_end=$_POST['day_end'];  //if i select long term vacation from drop list 

我指的是我应该在查询下面做

$sql="INSERT INTO $vac_table(name, type, date, from, to)VALUES('$employee_name', '$vacation','$today','$start_hour'if part time and '$day_start' if long time, '$end_hour' if part time and '$day_end' if long time)"; 
$result=mysql_query($sql); 

正是我知道这是很长的问题,但我希望你对不起,因为在这个领域的木匠,并要求你们帮助我很多谢谢

+0

MySQL需要更多加入者 – Strawberry 2014-10-08 22:38:12

回答

0

从你的代码,似乎你只有一个数据库中的日期字段。您需要start_dateend_date

根据您的条件,以下代码确保数据有效并插入。

你只需要只有一个表

if ($vacation == 'one day') { 
    $start_hour = ''; 
    $end_hour = ''; 
    $day_start = $_POST['day_start']; //if i select long term vacation from drop list 
    $day_end = $_POST['day_start']; 
} 

// for part day, end date is the same as start date 
if ($vacation == 'part day') { 
    $day_end = $_POST['day_start']; 
} 

$sql = "INSERT INTO `vacations` (`name`, `type`, `start_date`, `end_date`, `start_hour`, `end_hour`) VALUES ('$employee_name', '$vacation', '$day_start', '$day_end', '$start_hour', '$end_hour')"; 
$result = mysql_query($sql); 

您也可以start_dateend_date为日期时间字段,并且这样做:

if ($vacation == 'one day') { 
    $day_start = $_POST['day_start']; //if i select long term vacation from drop list 
    $day_end = $_POST['day_start']; 
} 

// for part day, end date is the same as start date 
if ($vacation == 'part day') { 
    $day_end = $_POST['day_start']; 
} 

$day_start .= ' ' . $_POST['start_hour']; 
$day_end .= ' ' . $_POST['end_hour']; 

然后

$sql = "INSERT INTO `vacations` (`name`, `type`, `start_date`, `end_date`) VALUES ('$employee_name', '$vacation', '$day_start', '$day_end')"; 
$result = mysql_query($sql); 
+0

好吧,我似乎很好,但如果我选择部分日子然后时间小时开始必须插入到字段中,而小时结束必须插入到“到”字段中。 – Hassony 2014-10-08 22:13:43

+0

你有只有一个小时的领域? – cornelb 2014-10-08 22:14:44

+0

在html页面我使用了2个字段作为文本插入信息需要约小时如果我选择部分日然后我必须填写开始时间08:00字段和结束的另一个领域作为10:00这些值从这个页面调用$ START_HOUR = $ _ POST [ 'START_HOUR']; $ end_hour = $ _ POST ['end_hour']; – Hassony 2014-10-08 22:20:38

相关问题