2015-06-27 111 views
0

順便說一句,在提到之前,我很清楚我應該使用mysqli。提前致謝。如何從表中選擇所有行?

這是我的代碼:

$q5 = "select listingid FROM userlisting WHERE userid = '$_SESSION[UserID]'"; 
$r5 = mysql_query($q5) or die(mysql_error()); 
$a5 = mysql_fetch_array($r5); 

的userlisting表是「查找」表,有兩列: 用戶名和listingid 它有一個多對多的關係。換句話說,可能有一個用戶標識附加(關聯)到多個listingids,因此在該表中有多個行。

e.g. 
userid|listingid 
1|1 
1|2 
1|3 
2|1 
etc 

爲了讓事情簡單:我想要做的是檢查以下內容:

$a5['listingid'] == $_GET['id'] 

而且如果這是真的,我會顯示信息,如果是假的不會被顯示的信息。

所以在頁面mywebsite.com會有一個id,因此mywebsite.com?id=[id here]。我正在嘗試查看用戶$_SESSION[UserID]是否在用戶上市表中具有與該頁面的ID相匹配的條目(呃,它是屬性網站,ID是屬性列表的ID)。

目前我上面的代碼僅僅搜索/檢查用戶ID的第一行。在上面給出的例子中,這將是listingid ='1'它沒有看到第2行和第3行也分別具有條目,分別爲listingid ='2'和'3'。因此,對mywebsite.com?id=1這是事實,但?id=2和id = 3這快到了假,但用戶ID = 1有三行的條目1,2和3

我一直在試圖尋找了一段時間的解決方案我現在開始感到沮喪。如果有人能爲我提供一個快速解決方案,我將非常感激。

+0

這不會產生你所期望的查詢字符串:' 「..... '$ _ SESSION [用戶名]'」'。所以轉儲該查詢字符串,看看我的意思。 – arkascha

回答

0

你可以像

WHERE userid=XX AND listingid=XX 

一些條款同時檢查SQL記住逃脫GET參數)

PS:可以使用過一段時間迭代和mysql_fetch_row和搜索,如果任何人是正確的。喜歡的東西:

$correct_check = false; 
while($a5 = mysql_fetch_array($r5)) { 
    if($a5['listingid'] == $_GET['id']) $correct_check = true; 
} 
if($correct_check) .... 
else .... 
0

嘗試是這樣的

$page_id = $_GET['id']; 
$q5 = "select listingid FROM userlisting WHERE userid = '$_SESSION[UserID]' and listingid = '$page_id' "; 
$res = mysql_qury($result); 
$num_rows = $mysql_num_rows($res); 

if($num_rows > 0) 
//your ok code 
else 
//fail message 
相關問題