PHP查询 - 我应该使用IF还是EMPTY?

时间:2017-09-09 11:25:11

标签: php

所以我有两张桌子 - 马:列出马匹信息 结果:列出了马匹的节目结果

我有一个观点: v_testhorses:有来自Horses的信息,然后计算每年的第1(胜),2(显示),3(地点)和马的收入。对于每一年,表格中有不同的行,因此可以按年显示收入,地点等

我正在尝试在搜索结果页面上查询此内容,但我无法确定如何查询此信息。理想情况下它会像这样进入HTML表格 - 年 - 胜利 - 地点 - 节目 - LTE

然而,并非每一匹马都会在2017年,2016年等展示过,所以我希望这些年来一片空白

当前代码:

/usr/share/phppgadmin/dbexport.php.

- 我试图使用isset,empty等“echo”,无论我尝试过哪种方式,我都会遇到某种错误。要么它崩溃我的整个页面,要么它什么也没做 - 我已经尝试将我的查询切换到IF语句(例如IF年= 2015年),但无济于事

问题: 1.我应该如何查询这里,如果年份= 2015年没有马的入口,它只是没有拉动任何东西? 2.有没有比查询和粘贴上述代码(或其固定版本!)更简单的方法来查询2007-2017的每一年?因此,当2018年到来时,我不必更新代码。 (非常感谢提前!)

1 个答案:

答案 0 :(得分:1)

当db:

中没有记录时,您应该使用while来阻止打印
while ($row = mysql_fetch_object($data)) {
    echo"<tr><td>$row->year</td>";
    echo"<td>$row->wins</td>";
    echo"<td>$row->place</td>";
    echo"<td>$row->show</td>";
    echo"<td>$" . number_format($row->LTE) . "</td></tr>";
 }

如果您想从2007年至2017年取货,我推荐一个自2007年以来全年都选择的查询(这也解决了您2018年的问题)

$data=mysql_query("SELECT * FROM `v_testhorses` WHERE `year` >= 2007");    

值得一提的最后一件事(在评论中指出)是使用MySQLi更好,因为你使用了弃用的函数。 http://php.net/manual/en/mysqli-result.fetch-object.php

相关问题