需要显示的行是'。$ date [' entry_date']。'
它不会从日期数据类型的SQL Server表中拉入显示表。 我究竟做错了什么。
<tbody>
<?php
$transaction_id = 1;
while ($row = sqlsrv_fetch_array($query))
{
$amount = $row['amount'] == 0 ? '' : number_format($row['amount']);
echo '<tr>
<td>'.$transaction_id.'</td>
<td>'.$row['fund'].'</td>
<td>'.$row['department'].'</td>
<td>'.$row['code_name'].'</td>
<td>'.$row['budget_year'].'</td>
<td>'.$date['entry_date'].'</td>
<td>'.$row['project_name'].'</td>
<td>'.$row['item_desc'].'</td>
<td>'.$amount.'</td>
<td>'.$row['detail'].'</td>
<td>'.$row['PO'].'</td>
</tr>';
$transaction_id++;
}?>
</tbody>
答案 0 :(得分:0)
$ date应该是$ row。在您的代码中,$ date未定义。但是,$ row等于您的SQL查询结果。 $ row是一个关联数组,每个值都与SQL字段名相关联。因此,如果要显示字段'entry_date'中的值,请写$ row ['entry_date']。
答案 1 :(得分:0)
如果我理解您的问题,则无法从日期字段中获取值。 您可以通过以下方式将日期和时间类型(日期时间,日期,时间,日期时间2和日期时间偏移)检索为字符串:
将连接选项ReturnDatesAsStrings
设置为true
。
$server = 'server\instance,port';
$cinfo = array(
"ReturnDatesAsStrings"=>true,
"Database"=>'database',
"UID"=>"user",
"PWD"=>"password"
);
...
while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) {
echo '<tr>
<td>'.$row['entry_date'].'</td>
</tr>';
}
...
将连接选项ReturnDatesAsStrings
设置为false
并格式化返回的日期字段值。
$server = 'server\instance,port';
$cinfo = array(
"ReturnDatesAsStrings"=>false,
"Database"=>'database',
"UID"=>"user",
"PWD"=>"password"
);
...
while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) {
echo '<tr>
<td>'.date_format($row['entry_date'], 'Y-m-d').'</td>
</tr>';
}
...