2017-06-15 121 views
-4

HTML代码: 查询不工作

 <table width="409" border="1"> 
     <tr> 
      <td><strong>Employee Name:</strong></td> 
      <th scope="col" align="left">    
      <select name="empid" id="empid"> 

      <option></option> 
      <?php 
      while($row = @mysql_fetch_array($result)) 
      { 
     echo " <option value='$row[employeeid]'> $row[employeename] </option>"; 
      } 
      ?> 
      </select> 
      </td> 
      </tr> 
     <!-- <tr> 
      <td><strong>Employee Name:</strong></td> 
      <th scope="col" align="left"> 
      <select name="employeename" id="employeename"> 
      <option></option> 
      <?php 
      while($row = @mysql_fetch_array($queryb)) 
      { 
       echo "<option value='". $row['employeeid'] . "'>" . $row['fullname']."</option>"; 
      } 
      ?> 
     </select> 
     </td></th> 
     </tr>--> 
      <!-- <tr> 
      <td><strong>Date:</strong></td> 
      <th scope="col" align="left"> 
      <input type="date" name="date" id="date" /> 
      </tr>--> 
      <tr> 
      <th scope="row">&nbsp;</th> 
      <td>&nbsp;</td> 
      </tr> 
      <tr> 
      <th scope="row">&nbsp;</th> 
      <td><input type="submit" name="submitsearch" id="submitsearch" value="Search" /></td> 
      </tr> 
     </table> 

如果我想点击搜索按钮,结果产生这样。

恩诺TotalHours 12 HH:MM 28 HH:MM

数据库的tableview: 否恩诺INOUT日期时间 1的I2S 2017年6月2日8点35分 2 28号第2017年6月2日10 :10 3 28e的2017年6月2日13:00 4 11 E 2017年6月2日14时02分 5的I2S 2017年6月2日15时03 6 11 E 2017年6月2日19时04分

我的查询为:

$ resultatt = “SELECT恩诺,SEC_TO_TIME(SUM(TIME_TO_SEC(日期时间)))AS Totalhours FROM dataimport其中恩诺= '$ _POST [EMPID]' GROUP BY恩诺”;

但结果是不会产生??????????????????????

+0

告诉我们什么是**不工作**。如果没有找到实际问题,任何人都可以帮助您 –

+1

如果您删除'EnNo ='$ _POST [empid]',那么这将不会限制为特定的EnNo。 –

+0

您在选择中缺少EnNo列。 – bradbury9

回答

0

我刚刚创建的临时表称为dataimport

Table Format

并写了查询作为,

SELECT EnNo,work_dt, SEC_TO_TIME如time_worked从 (总和(TIMESTAMPDIFF(SECOND,登录,注销)))( SELECT EnNo,日期(DateTime)如work_dt,DateTime作为登录 ,聚结( (SELECT MIN(DateTime) FROM dataimport为b WHERE a.EnNo = b.EnNo 和日期(一个。 DateTime)=日期(b。DateTime) 和b。 DateTime> = a。 DateTime 和b。 INOUT = 'E' ),现在())AS注销 FROM dataimport AS一个 WHERE一个。 INOUT = 'S' )为t GROUP BY EnNo,work_dt

终于得到了输出,

Output

希望这是你在看着什么。

+0

谢谢@ Josmy Jose –

+0

现在先生,我还有一个表'指定的详细信息',字段是指定名称,指定id,雇员id,雇员名称.i可以添加一个employeename列到上述查询..我可以添加?? plz通知我。 –

+0

SELECT ENNo,d.'employname',work_dt,SEC_TO_TIME(sum(TIMESTAMPDIFF(SECOND,login,logout)))as time_worked from (SELECT EnNo,date(DateTime)as work_dt,DateTime as login, coalesce (SELECT MIN(DateTime)FROM dataimport as b WHERE a.EnNo = b.EnNo and date(a.DateTime)= date(b.DateTime)and b.DateTime> = a.DateTime and b.INOUT ='E') ,now())AS logout FROM dataimport AS a WHERE a.INOUT ='S' )as t INNER JOIN'designation_details'd ON t.EnNo = d.employeeid GROUP BY EnNo,work_dt \ n \ n 注意:上面的查询被重写,假设EnNo和employeeid是相同的。 –

0

你需要如下更改查询:

$resultatt = "SELECT EnNo,SEC_TO_TIME(SUM(TIME_TO_SEC(`DateTime`))) AS 
Totalhours FROM dataimport where EnNo = '$_POST[empid]' GROUP BY EnNo"; //IF you need single record only 

OR

$resultatt = "SELECT EnNo,SEC_TO_TIME(SUM(TIME_TO_SEC(`DateTime`))) AS 
Totalhours FROM dataimport GROUP BY EnNo"; //IF you need all records group by employee 
+0

如果您有任何解决方案,然后回答它,请再次查看此问题。 –

0

尝试下面的查询

$resultatt = "SELECT EnNo,SEC_TO_TIME(SUM(TIME_TO_SEC(`DateTime`))) AS 
Totalhours FROM dataimport where EnNo = '".$_POST[empid]."' GROUP BY EnNo";