如何获取当前页面的设置

时间:2013-11-27 19:24:07

标签: php mysqli isset

首先,我无法在任何地方找到任何有用的内容 我正在努力为论坛制作一些类似的东西,

一个小小的解释, (是的,我知道它不是seo,但我只是在寻找功能atm。)
让我们说你去example.com/?1,那么ID为1的数据库条目将显示在索引页面上,如果你转到example.com/?3那么ID为3的DB条目将是显示等。

DB Structure
----------------------------------------
| id | label | description | parent_id |
|---------------------------------------
| 1 | General | NULL       |         0 |
| 2 | Public  | NULL       |         1 |
| 3 | Private | NULL       |         1 |
----------------------------------------

PHP Code
if ($stmt = $mysqli->prepare("SELECT id, label, description, parent_id FROM categories")) {
$stmt->execute(); // Execute the query.
$stmt->store_result();
$stmt->bind_result($id, $label, $desc, $parent); // Get variables from result.
    while ($stmt->fetch()) {
        if(isset($id)) {

                echo "Hello, This is the $label category";

        }
    }
}

我缺少的是一种让用户获得当前“isset”(.com /?10,.com /?5,ETC)之前运行查询的方法我可以检查数据库中的设置并获取正确的值,现在它输出数据库中的所有行,我将非常感谢任何帮助:)

如果您知道更好的方法(不使用框架),请告诉我!

1 个答案:

答案 0 :(得分:1)

从术语的角度来看,听起来您有兴趣了解在请求的查询字符串中传递了什么参数

在你的情况下,你正在做一些有点奇怪的事情,因为它具有像/?*这样的URI格式,其中*是整数ID值,你实际上会传递一个可变命名的参数。由于您不知道参数名称是什么,因此您必须执行类似

的操作
$ids_in_query_string = array_keys($_GET);

存储用于推断请求了哪些ID的密钥名称。

我建议您使用/?id=*形成查询字符串,这样您就可以随时了解$_GET中的哪个键进行检查。例如:

$id = null;
if (!empty($_GET['id']) && is_numeric($_GET['id'])) {
   $id = $_GET['id'];
}
if (!is_null($id)) {
    // perform your query for selected ID
} else {
    // do something else
}