我在while循环中有一个tabled视图,用户可以在其中查看有关书籍的信息。
例如,预订ISBN,书名,阅读状态......
基本上,当用户将'readstatus'设置为'complete'时,我希望特定的表行变为灰色!逻辑是非常直接的,但我不能让我的IF声明认识到这一点:
if ($readstatus == 'complete') {
echo '<tr class="completed">';
}
else if ($readstatus != 'complete') {
echo '<tr class="reading">';
}
我显然在这里做错了,如果'readstatus'='完成'的值,表内容要改变,如果没有,那么输出是默认的
答案 0 :(得分:1)
尝试将$readstatus = $_GET['readstatus'];
更改为$readstatus = $row['readstatus'];
答案 1 :(得分:1)
您为什么使用$_GET
?此信息是来自HTML表单还是URL等......?
我怀疑您打算将$readstatus = $_GET['readstatus'];
更改为$readstatus = $row['readstatus'];
。
$_GET
是GET参数的一个参数,来自query string。
$row
是数据库中的一行,所以如果信息在数据库中 - 我怀疑它是 - 你想使用$row
而不是$_GET
。
答案 2 :(得分:0)
$ _GET函数依赖于URL的查询字符串中包含的值,它与数据库无关。我有预感你试图从数据库中获取值,而你正在使用错误的函数来执行此操作。
答案 3 :(得分:0)
$_GET['readstatus']
表示该值来自浏览器。
$row['readstatus']
表示该值来自数据库。
你需要决定哪个应该优先 - 可能是$ _GET ['readstatus']`因为它是用户想要改变的。如果是这种情况,则需要在重新查询数据集的db之前使用新的readstatus更新数据库。