PHP IF语句没有考虑变量!

时间:2010-03-19 12:51:08

标签: php if-statement

我在while循环中有一个tabled视图,用户可以在其中查看有关书籍的信息。

例如,预订ISBN,书名,阅读状态......

基本上,当用户将'readstatus'设置为'complete'时,我希望特定的表行变为灰色!逻辑是非常直接的,但我不能让我的IF声明认识到这一点:

if ($readstatus == 'complete') {
                        echo '<tr class="completed">';
              }

                    else if  ($readstatus != 'complete') {
                        echo '<tr class="reading">';
              } 

我显然在这里做错了,如果'readstatus'='完成'的值,表内容要改变,如果没有,那么输出是默认的

4 个答案:

答案 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更新数据库。