2013-04-24 52 views
1

我是新的php和mysql。 我想從我的表中獲取信息。 只是給你關於我的表的信息。 我的表名是leave,它包含一個外鍵即leaveId嘗試獲取特定外鍵的信息

lid  empname  username nod  date  reason action leaveID 
    ===  =======  ======== ===  ===== ====== ====== ======= 
    1  Maxwell  max  1  2012  Null Denied 3 
    2  Ponting  punter  1  2011  Null Denied 4 
    3  Ponting  punter  2  2011  xam Accepted 4 
    4  Taylor  tayl  1  2011  Null Accepted 1 

現在的例子是有任何SQL查詢檢索的PointingleaveId只有信息4,我寫了下面的查詢..

$leave = mysql_query("SELECT * FROM `leave` where leaveID = $user "); 

但它只返回與相關聯的第二排數字4 leaveId它應該返回第2和第3行,不是嗎? 。 其實我不確定...如果它是錯誤的然後給我正確的答案(作爲例子)我如何獲取ponting誰leaveID爲4的信息。

+1

SQL查詢是否正確,然後使用什麼PHP代碼處理結果?可能這是你的問題。 – 2013-04-24 11:25:11

+0

您在leaveID = $ user中傳遞$ user作爲4?如果是這樣,應該有兩行。你如何驗證輸出中只有一行?你有沒有試過在sql編輯器中運行這個查詢? – harsh 2013-04-24 11:25:47

+0

它應該返回它們兩個,但是你需要遍歷結果集。所以你需要調用'mysql_fetch_row'兩次來獲得兩行! – 2013-04-24 11:27:47

回答

1

你需要讓你的行有一段時間循環

$leave = mysql_query("SELECT * FROM `leave` where leaveID = $user "); 
while ($row = mysql_fetch_array($leave, MYSQL_NUM)) { 
    printf(" ID:", $row[0], "empname ", $row[1]); 
}