【问题标题】:PHP compare a GET value with an INT from a tablePHP 将 GET 值与表中的 INT 进行比较
【发布时间】:2016-05-02 11:02:15
【问题描述】:

PHP 中的这段代码总是返回 false。

我认为这是我如何比较价值观的问题:

if (isset($_GET['materia']) and $_GET['materia']==$row['id_materia']){
            echo'<option selected="selected" value="http://www.gonzalohll.com/pedidos.php?curso=1&?materia='.$row['id_materia'] .'">'. $row['materia'] .'</option>';}

            else {
            echo'<option value="http://www.gonzalohll.com/pedidos.php?curso=1&?materia='.$row['id_materia'] .'">'. $row['materia'] .'</option>';}
            }

            echo '</select>';   

非常感谢任何有关该主题的帮助。

【问题讨论】:

  • 这看起来不像是完整的代码部分。 $row['id_materia'] 来自哪里?另外我假设你还没有 var_dump() 删除 $_GET['materia'] 和 $row['id_materia'] 中的值,这样做并告诉我们你得到了什么。
  • 我很尴尬地说我的错误在于我如何使用 GET 方法发送变量。而已。谢谢安德鲁。

标签: php get int compare


【解决方案1】:

您需要检查您正在使用的变量的值,以查看“if”语句中发生的情况。

例如,试试这个:

$id_materia = $row['id_materia'];

if (empty($id_materia)){
    echo 'Incorrect value for id_materia';
} else {
    echo 'id_materia: ' . $id_materia;
}

if (isset($_GET['materia'])){
    echo ". Value for materia (GET): " . $_GET['materia'];
} else {
    echo ". Materia (GET) not exists";
}

echo '<select>';

if (isset($_GET['materia']) && $_GET['materia'] == $row['id_materia']){
     echo'<option selected="selected" value="http://www.gonzalohll.com/pedidos.php?curso=1&?materia='.$row['id_materia'] .'">'. $row['materia'] .'</option>';}
else {
     echo'<option value="http://www.gonzalohll.com/pedidos.php?curso=1&?materia='.$row['id_materia'] .'">'. $row['materia'] .'</option>';}
}

echo '</select>';

【讨论】:

  • 我很尴尬地说我的错误在于我如何使用 GET 方法发送变量。而已。谢谢艾伦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-15
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多