2014-10-08 121 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

相關問題