首先,我无法在任何地方找到任何有用的内容 我正在努力为论坛制作一些类似的东西,
一个小小的解释,
(是的,我知道它不是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)之前运行查询的方法我可以检查数据库中的设置并获取正确的值,现在它输出数据库中的所有行,我将非常感谢任何帮助:)
如果您知道更好的方法(不使用框架),请告诉我!
答案 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
}