我想面对一个错误,数据库将日期格式记录为YYYY-MM-DD,下面是表: -
第一个表是资金,第二个是基金历史,因为你可以看到LibraIncomeExtra Fund有相同的日期,但它仍然显示明星。 以下是我的编码: -
<?php
$result = mysql_query("SELECT * FROM funds");
$numrows = mysql_num_rows($result);
$getdate = date('y-m-j');
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>";
echo "<center>";
if ($row['nav'] != $row['oldnav'])
{
if ($row['date_update'] != $getdate)
{
echo "" .$row['fundname']. "**";
$latestupdate = $row['date_update'];
}
}
else
{
echo $row['fundname'];
}
echo "</center>";
echo "</td>";
echo "<td>";
echo"<center>";
echo $row['nav'];
echo "</center>";
echo "</td>";
echo "</tr>";
}
?>
任何人都可以解释这个吗? 我知道mysql扩展已经过时了,但这段编码是很久以前的,所以我不想通过改变mysqli扩展来重做整个系统。
答案 0 :(得分:2)
我认为你的问题是你如何声明$ getdate
试试这个: $ getdate = date('Y-m-d');
答案 1 :(得分:0)
我设法通过使用这种编码来解决它:
<?php
$result = mysql_query("SELECT * FROM funds");
$numrows = mysql_num_rows($result);
$getdate = date('Y-m-d');
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>";
echo "<center>";
if ($row['date_update'] == $getdate)
{
echo "" .$row['fundname']. "**";
$latestupdate = $row['date_update'];
}
else
{
echo $row['fundname'];
}
echo "</center>";
echo "</td>";
echo "<td>";
echo"<center>";
echo $row['nav'];
echo "</center>";
echo "</td>";
echo "</tr>";
}
?>
它显示星的原因是因为正在检查每行的使用时间,因为你参考我之前做的顶部编码,它满足两个语句,这需要导航和旧导航是不同的,这是真的根据表格,接下来是关于表格资金的数据库的日期和$ getdate的当前日期,这两者也是不同的,导致两个语句都为真并执行if语句编码。对于我来说,如果不在if条件下看错,那对我来说有点愚蠢。感谢firestream提供$ getdate解决方案。而我犯了一个错误,基金历史表没有涉及此错误。
这是一个棘手的问题:D 干杯!