首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示范围内每个日期的记录

显示范围内每个日期的记录
EN

Stack Overflow用户
提问于 2012-07-20 17:03:43
回答 1查看 268关注 0票数 0

我想显示用户提供的日期范围的数据库中的每个日期的记录。即,如果用户指定2012-7-2到2012-7-4。那么输出结果必须是

代码语言:javascript
复制
date:2012-july-02  
name | intime | outtime |Teamtype

date:2012-july-03
name | intime | outtime |Teamtype  

so on..

用于此的SQL:

代码语言:javascript
复制
 $s="SELECT InDate,mstEmp.cardnofrom mstEmp left join dailyattendance ON (InDate BETWEEN '$from' AND '$to' ) AND(dailyattendance.HolderName = mstEmp.empname ) where teamtype='$chk'";
$objDB->SetQuery($s);
$r = $objDB->GetQueryReference();

 $sql= SELECT mstEmp.empname,   
       mstEmp.cardno, 
       InDate, 
       dailyattendance.InTime,
       dailyattendance.OutTime, 
       mstEmp.teamtype            
FROM mstEmp  
 LEFT JOIN dailyattendance    
 ON (InDate BETWEEN '$from' AND '$to')  AND (dailyattendance.HolderName =mstEmp.empname )   
WHERE mstEmp.teamtype = '$chk' 
ORDER BY InDate DESC
$res = $objDB->GetQueryReference();

我尝试的是

代码语言:javascript
复制
  <!-- language: lang-php -->

    while($rw=mysql_fetch_array($r) )
  {

    while($row=mysql_fetch_array($res))
    {
        list($name, $crd,$indate,$in,$out,$t) = $row;
        if($rw[1]!=$crd && $row[2]=='')
        {
            $d1='NULL';
            $d2='NULL';
        }
        else
        {
        $d1 = date("g:i A", $in);
        $d2 = date("g:i A" ,$out);
        $d3 = date("d-m-Y (D)", $in);
        $bg = '';
        if(date('D', $in) == 'Sun' || date('D', $in) == 'Sat')
        $bg = 'bgcolor=#EEEEEE';
        else 
        $bg = 'bgcolor= #ECE5B6';
        if ($ddate != $row[2])
        {   
            echo "<tr $bg><td colspan=4>Date: ".$d3."</td></tr>";
            $ddate = $row[2];
        }
        }

        echo "<tr>";
        echo "<td align=left width='35%'>".trim($name)."</td>";
        echo "<td align=center width='20%' >".$d1."</td>";
        echo "<td align=center  width='23%' >".$d2."</td>";
        echo "<td align=center width='16%'>".$t."</td>";
        echo "</tr>";
    }   
  echo "</table><br>";
  echo "</form>";
  }

mysql_free_result($res);
mysql_free_result($r);
EN

回答 1

Stack Overflow用户

发布于 2012-07-20 17:09:25

看起来你筛选的天数应该属于ONWHERE实例

代码语言:javascript
复制
SELECT
 mstEmp.empname,
 mstEmp.cardno,
 InDate,
 dailyattendance.InTime,
 dailyattendance.OutTime,
 mstEmp.teamtype
FROM mstEmp
LEFT JOIN dailyattendance
  ON (dailyattendance.HolderName = mstEmp.empname )
WHERE
  mstEmp.teamtype = '$chk' AND
  InDate BETWEEN '$from' AND '$to'
ORDER BY
  InDate DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11576219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档