2016-01-07 53 views
1

如何使用URL标识一个页面的其他页面的url ID where子句 像 我有送http://localhost/Eshopper/products.php?id=1 其中ID是产品就像在我的表,我有tbl_products 在如何使用WHERE子句动态

的product_id,produc_name,brand_id
在品牌选择表格菜单临客我对三星的菜单,当我们点击它会显示所有三星手机 我有使用其中的查询获取数据我能得到的数据通过传递手动编号,如

SELECT * FROM tbl_products WHERE brand_id = 1 ,但我想从URL这个品牌ID = 1,我通过 http://localhost/Eshopper/products.php?id=1 此编号1 automacticlly加入到其中condtion传递所以要做到这一点

+0

你可以亲切你的问题,并使其可读? –

+1

$ _GET ['id']将保存来自url的id值。 – Santy

+0

查询后,添加此行。 'if(isset($ _ GET ['id'])){ $ query。=“WHERE product_id ='”。 (int)$ _GET ['id']。 “'”; }' –

回答

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设置,如果它是一个实际的数字。

然后我们清理输入以删除所有不是数字的东西。

阅读材料

isset

filter_var

intval

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']; 
+0

我能够通过URL获得ID我只是无法将该ID进入条件 –

0

我能够通过URL获得ID我只是无法得到该id到WHERE条件一样

$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'"; 

我没有得到任何数据,所以有什么问题与此查询