私はレコードのテーブルを持っています。ユーザーは、イベントが発生した日付に基づいてデータを入力することができます。私は、ユーザーが入力していないこと(でも、レコードなし)日付を表示できるようにしたいPHP MSSQL週間イベント
ID Date Name Hrs
1 2016-03-01 Username 8
2 2016-03-02 Username 8
3 2016-03-03 Username 9
4 2016-03-04 Username 10
…
31 2016-03-31 Username 8
- :表には、このようなものになります。
また、テーブル内のすべてのレコードを週に分割して表示する必要があります。このような何か:以下
Day Date Name Hrs
Mon 2016-03-01 Username 8 Tue 2016-03-02 Username 8 Wed 2016-03-03 Username 9 Thu 2016-03-04 Username 10 Fri 2016-03-05 Username 10 Sat 2016-03-06 - Sun 2016-03-07 Username 10 Mon 2016-03-08 Username 8 Tue 2016-03-09 - Wed 2016-03-10 - Thu 2016-03-11 - Fri 2016-03-12 Username 10 Sat 2016-03-13 - Sun 2016-03-15 Username 10 ... ... ... Mon 2016-03-30 Username 8 Tue 2016-03-31 Username 8
は私のコードです:
<?php
...Connection to DB...
$query="SELECT *
FROM Table_I
ORDER BY DATEPART(wk,date) as wk
";
$params = array($_REQUEST['query']);
$results = sqlsrv_query($conn, $query, array(), array("Scrollable" => 'static'));
if($results===false)
{ die(FormatErrors(sqlsrv_errors())); }
$rows = sqlsrv_num_rows($results);
$array = array();
while ($row = sqlsrv_fetch_array($results, SQLSRV_FETCH_ASSOC))
{
$array[] = $row;
}
?>
<html>
<head></head>
<body>
<table border="1">
<?php
for($a=0; $a<$rows; $a++)
{
echo '<tr><td>'.$array[$a]['wk'].'</td>';
echo '<td>'.date("l", strtotime($array[$a]['date'])).'</td>';
echo '<td>'.date('d M Y', strtotime(strip_tags($array[$a]['date']))). "</td>";
echo '<td>'.strip_tags($array[$a]['name'])."</td>";
echo '<td>'.strip_tags($array[$a]['hrs'])."</td>";
}
</body>
</html>
それは大丈夫出力しますが、ユーザが入力していない日付が含まれていないとしません毎週それを分解してください。私は非常にプログラミングに新しいですが、それは楽しいですが。
お願いします。よろしくお願いいたします。
あなたは、SQLサーバのどのバージョンを使用していますか? – FLICKER
@FLICKER Sql-server 2008 – user
@すぐにお願いしますか? – user