2016-07-05 35 views
0

我想這是一個簡單的函數&我錯過了編碼的地方。尋求幫助。顯示一個php的計算值並將其傳遞到數據庫

我得到用戶的輸入日期&添加/計算工作日。當我從數據庫檢索輸入時,顯示的代碼&顯示。但我想計算用戶通過提交按鈕將輸入&傳遞給數據庫的日子。

這是我的編碼。請幫助

<?php 
include_once('confiq.php'); 

// Only process the form if $_POST isn't empty 
if (! empty($_POST)) { 

// Connect to MySQL 
$mysqli = new mysqli('localhost', 'root', '', 'fiber'); 

// Check our connection 
if ($mysqli->connect_error) { 
die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
} 

// Insert our data 
$sql = "INSERT INTO fiberexcel (SiteID0, SiteName1, SiteAddress2, ProjectType3, ReqDate4, TargetDate5, Vendor6, ESRNo7, Contact8, Engineer9, AM10) 
VALUES ('{$mysqli->real_escape_string($_POST['SiteID0'])}', 
'{$mysqli->real_escape_string($_POST['SiteName1'])}' , 
'{$mysqli->real_escape_string($_POST['SiteAddress2'])}', 
'{$mysqli->real_escape_string($_POST['ProjectType3'])}', 
'{$mysqli->real_escape_string($_POST['ReqDate4'])}', 
'{$mysqli->real_escape_string($_POST['TargetDate5'])}', 
'{$mysqli->real_escape_string($_POST['Vendor6'])}', 
'{$mysqli->real_escape_string($_POST['ESRNo7'])}', 
'{$mysqli->real_escape_string($_POST['Contact8'])}', 
'{$mysqli->real_escape_string($_POST['Engineer9'])}', 
'{$mysqli->real_escape_string($_POST['AM10'])}')"; 

$insert = $mysqli->query($sql); 
// Print response from MySQL 
if ($insert) { 
echo "!"; 
} else { 
die("Error: {$mysqli->errno} : {$mysqli->error}"); 
} 
// Close our connection 
$mysqli->close(); 
} 
?> 



<!DOCTYPE html> 
<html> 
<head> 
<title>Create Customer</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<link href="css/layout1.css" media="screen" rel="stylesheet" type="text/css"> 
<link rel="stylesheet" type="text/css" href="css/font-awesome.css"> 

</head> 
<body> 
<div id="wrapper"> 
<div id="home"><a href="index.html"><img src="./img/home.png"></img></a> 
</div> 
<h2><u>CREATE CUSTOMER</u></h2> 
<form action="Create.php" method="post"> 
<table border="0" align="left" cellspacing="30" height="5"> 
<tr><td><b>Site ID:</b></td> <td><input type="text" id="SiteID0" name="SiteID0" size="35" required="required"><br></td></tr> 
<tr><td><b>Site Name:</b></td> <td><input type="text" id="SiteName1" name="SiteName1" size="35" required="required"><br></td></tr> 
<tr><td><b>Site Address:</b></td> <td><input type="text" id="SiteAddress2" name="SiteAddress2" size="35" required="required"><br></td></tr> 
<tr><td><b>Project Type:</b></td> <td><input type="text" id="ProjectType3" name="ProjectType3" size="35"><br></td></tr> 
<tr><td><b>Requested Date:</b></td> <td><input type="date" id="ReqDate4" name="ReqDate4" size="35"><br></td></tr> 
<tr><td><b>Target Completion Date</b></td> 
<td><input type="date" id="TargetDate5" 
<?php 
$ReqDate4= date("Y-m-d"); //increment 75 days 
$TargetDate5 = strtotime($ReqDate4."+ 75 weekday"); 
echo date("Y-m-d",$TargetDate5) . "\n"; 
echo "</td>"; 
$_POST['$TargetDate5 ']=$TargetDate5 ; 
echo "</td>"; 
;?> 
<br></td></tr> 

<tr><td><b>Vendor:</b></td> <td><input type="text" id="Vendor6" name="Vendor6" size="35" required="required"><br></td></tr> 
<tr><td><b>ESR No:</b></td> <td><input type="text" id="ESRNo7" name="ESRNo7" size="35" ><br></td></tr> 
<tr><td><b>Contact Details:</b></td> <td><input type="text" id="Contact8" name="Contact8" size="35" ><br></td></tr> 
<tr><td><b>Engineer:</b></td> <td><input type="text" id="Engineer9" name="Engineer9" size="35" required="required"><br></td></tr> 
<tr><td><b>Account Manager:</b></td> <td><input type="text" id="AM10" name="AM10" size="35" ><br></td></tr> 
<tr> 
<td></td><td><input type="submit" value="Submit" name="action" /></td> 
<td><input type ="submit" value="Clear" onclick="reset();"></td> 
</tr> 
</form> 
</table> 
</div> 
</body> 
</html> 

回答

0
<script> 
    function emergencyleavecomp(){ 

document.getElementById("startDate").value = ""; 
document.getElementById("endDate").value = ""; 
document.getElementById("count").value = ""; 


     document.getElementById("remain_leave").value = ""; 
     document.getElementById("calculate").value = ""; 
     document.getElementById("Used_Leave").value = ""; 
     document.getElementById("sickleave").checked = false; 
     // document.getElementById("emergencyleave").checked = false; 
     document.getElementById("paternityleave").checked = false; 
     document.getElementById("maternityleave").checked = false; 
     document.getElementById("compasionateleave").checked = false; 
     document.getElementById("vacationleave").checked = false; 
     var emerleave = document.getElementById("emergencyleave"); 
// 
     // document.getElementById("vacationleave").checked = false; 
     var today = new Date(); 
     var dd = today.getDate(); 
     var mm = today.getMonth()+1; 
     //January is 0! 
     var yyyy = today.getFullYear(); 
     if(dd<10) { 
     dd='0'+dd 
     } 
     if(mm<10) { 
     mm='0'+mm 
     } 
     today = mm+'/'+dd+'/'+yyyy; 
     // document.write(today); 
     var checkcategory = (document.getElementById("checkcategory").value); 
     // var vacay = document.getElementById("vacationleave"); 

// 
     if(emerleave.checked){ 
     var emeval = document.getElementById("foremergencyleave").value; 
     document.getElementById("Used_Leave").value = emeval; 

     if(checkcategory == "Local"){ 
      $('#startDate').on('change',function(){ 
      var probDate=new Date(document.getElementById("forcomputeleave").value); 
      var nowDate= new Date(document.getElementById("startDate").value); 
      var timeDiff=Math.abs(probDate.getTime()-nowDate.getTime()); 
      var diffDays=Math.ceil(timeDiff/(1000*3600*24)); 
      // document.getElementById("count").innerHTML = diffDays; 
      var calc = Math.round((diffDays * 0.0416666666666667)*100)/100; 
      document.getElementById("calculate").value = calc; 
      var remain = Math.round((calc - document.getElementById("Used_Leave").value)*100)/100; 
      document.getElementById("remain_leave").value = remain; 
      }); 
     } 
     else{ 
      $('#startDate').on('change',function(){ 
      var probDate=new Date(document.getElementById("forcomputeleave").value); 
      var nowDate= new Date(document.getElementById("startDate").value); 
      var timeDiff=Math.abs(probDate.getTime()-nowDate.getTime()); 
      var diffDays=Math.ceil(timeDiff/(1000*3600*24)); 
      // document.getElementById("count").innerHTML = diffDays; 
      var calc = Math.round((diffDays * 0.0833333333333333)*100)/100; 
      document.getElementById("calculate").value = calc; 
      var remain = Math.round((calc - document.getElementById("Used_Leave").value)*100)/100; 
      document.getElementById("remain_leave").value = remain; 
      }); 
     } 
     } 
    } 
    </script> 

您可以編輯該代碼你想要做什麼。這從日期計算到另一個日期。如果這就是你要求的。

+0

謝謝。但這不是我的要求。 「請求日期」字段將由用戶給出。我想爲該輸入添加日期,將其顯示在「TagetDate」字段中,並將計算的日期值傳遞給數據庫。我有一個不同的頁面來顯示錶格中的用戶輸入。那裏的計算只在頁面中有效,而不是存儲在數據庫中。請幫助 – Sugs

0

你缺少NAME =「TargetDate5」在「目標完成日期」字段,以便它是沒有得到張貼在你的$ _POST陣列。
此外,下面的值不是從表單發佈,而是存在於您的查詢中。

$_POST['ESRNo7'] 
$_POST['Contact8'] 
$_POST['Engineer9'] 
$_POST['AM10'] 
+0

$ ReqDate4 = date(「Y-m-d」); \t //增加75天 $ TargetDate5 = strtotime($ ReqDate4。「+ 75 weekday」); 回顯日期(「Y-m-d」,$ TargetDate5)。 「\ n」 個; echo「」; $ _POST ['$ TargetDate5'] = $ TargetDate5; //此POST功能不起作用。計算值不顯示在頁面中或不存儲在數據庫中。請幫助 – Sugs

+0

是的。我沒有在這裏添加代碼。我應該添加整個代碼嗎? – Sugs

+0

首先檢查$ _POST數組中的所有數據是否已定義或發佈在Create.php中(在查詢中使用的數據),然後打印查詢並直接在phpmyadmin中運行,看看發生了什麼問題。 – Anupam

相關問題