2016-01-07 55 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'"; 

我沒有得到任何數據,所以有什麼問題與此查詢