如何在where子句中使用其他页面的一页的url id 喜欢 我已发送http://localhost/Eshopper/products.php?id=1 其中id是产品,就像在我的表中我有tbl_products 在那
product_id,produc_name,brand_id
哪个品牌是选择形式菜单linke我点击三星的菜单,它会显示所有三星手机
我有用于获取数据的查询,我可以通过传递手册ID,如
SELECT * FROM tbl_products
WHERE brand_id = 1
但是我希望从我通过的网址获得这个品牌id = 1
http://localhost/Eshopper/products.php?id=1
所以这个id 1自动添加到where condtion所以这样做
答案 0 :(得分:2)
您必须使用$_GET
。
例如,您的网址为id=1
:
所以,
<?php
/** ID is not set or it is not a integer. **/
if (!isset($_GET['id']) || !filter_var($_GET['id'], FILTER_VALIDATE_INT))
exit('Invalid ID.');
/** Remove other characters. **/
$iD = intval($_GET['id']);
?>
我们首先检查id
是否已设置以及是否为实际数字。
然后我们清理输入以删除所有不是数字的内容。
阅读材料
答案 1 :(得分:0)
您可以将多个页面上的ID保存在会话中,如下所示。
<?php
if (!isset($_SESSION)) {
session_start();
}
// Set $_GET id to $_SESSION id
if (isset($_GET['id'])) {
$_SESSION['id'] = $_GET['id'];
}
// Set default value
if (!isset($_SESSION['id'])) {
$_SESSION['id'] = 1;
}
// Now you can use $_SESSION['id'] instead of $_GET['id'];
答案 2 :(得分:0)
我能够通过网址获取id我无法将该ID转移到像
这样的条件$url = $_SERVER['QUERY_STRING'];
query = "SELECT * FROM `tbl_products` WHERE brand_id= '$url'";
echo $query;
所以当我回声时我得到id = 1,但是把这个$query
放在没有得到数据的地方
当我使用静态ID时,我得到数据
喜欢
$query = "select * from tbl_products where brand_id=1";
然后我得到一个,两个,三个列表
但是当我使用
时$query = "select * from tbl_products where brand_id='$url'";
我无法获取任何数据,因此此查询的问题是什么