2011-10-16 76 views
0

我有兩個表,都包含名爲「id」的字段,每個表中有不同的數據。我需要檢索這兩個ID來構建一個URL。我使用下面的代碼:如何一次查詢兩個同名的字段,但數據不同?

<?php // no direct access 
mysql_connect("localhost", "user", "pass") or die(mysql_error()); 
mysql_select_db("db") or die(mysql_error()); 

$value = $_POST['password']; 


$content = mysql_query("SELECT * FROM jos_content WHERE pass='$value'") or die(mysql_error()); 
$menu = mysql_query("SELECT * FROM jos_menu WHERE menutype='mymenutype' AND alias='$value'") or die(mysql_error()); 

$id = mysql_fetch_array($content); 
$itemid = mysql_fetch_array($menu); 
// Print out the contents of each row into a table 

if(isset($_POST['password'])){ 
    header('Location: ' . 'index.php?option=com_content&view=article&id=' . $id['id'] . '&Itemid=' . $itemid['id']); 
    exit; 
} 

?> 

不過,我只從第一個查詢中獲取數據,而第二個回報什麼。我做錯了什麼?也許我的SELECT查詢拼寫不正確?請幫忙。

由於提前, S.

回答

0
,我看到的是,你在你的第二個查詢,也是這樣我的直覺告訴我是不太你想要使用 password

第一件事。

無論如何,爲了調試查詢,首先,看看錯誤日誌,看看or die(mysql_error())部分是拋出一些東西。

如果不是,echo$menu字符串(查詢),運行,它將顯示到MySQL中,看看是否返回一些記錄。當你讓它返回時,改變字符串,然後你去 - 它應該工作

0

你可以使用var_dump($ menu)來查看調試結果。如果$ itemid是一個多維數組,你必須像$ itemid [0] ['id']一樣正確使用索引,並且你可以嘗試回顯查詢,並在mysql中使用與(Tudor Constantin)建議的相同的查詢。嘗試使用這樣的mysql連接

select jc.id as id,jm.itemid as itemid FROM jos_content as jc left join jos_menu as jm on jm.alias = jc.pass WHERE jm.menutype ='mymenutype'and jc .pass ='$ value'

相關問題