我正在運行一個SQL查詢,它使用內部連接從兩個表中拉出id,catid,name,subof。通過mysql_query循環並替換值或1查詢做工作
select shop.id, shop.catid, shop.name, shop_cat.catname, shop_cat.subof from shop inner join shop_cat on shop.catid = shop_cat.id where shop.active='1' order by shop_cat.catname, shop.name
現在,這個結果我需要的一切,但我通過結果需要循環,並做了subof值另一個SQL查詢(這是一個值,該值作爲shop_cat的ID號)。我需要拉取subof值#的catname,然後將結果/數組字段subof更新爲cat的名稱。
所以,如果原來的查詢給我的值爲15的subof,它會從shop.cat做一個select catname,其中id = '15'我會從該查詢中取出catname,然後更新subof = catname for each在具有subof值的原始結果中的值。
編輯3/23/13 12:30 pm MST:使用更多的Opeyemi寫的代碼,來解釋更多我需要的東西。我不知道如何解釋它...
$q = "select shop.id, shop.catid, shop.name, shop_cat.catname, shop_cat.subof from shop inner join shop_cat on shop.catid = shop_cat.id where shop.active='1' order by shop_cat.catname, shop.name";
$r = mysql_query();
while(list($shopid, $catid, $name, $catname, $subof) = mysql_fetch_array($r)) {
$getname = mysql_query("select catname from shop_cat where id='$subof'");
$rowname = mysql_fetch_assoc($getname);
//code to update array to change value of $subof to new $rowname['catname']
}
數據庫查詢運行,得到我我的價值觀。
然後,我需要運行某種循環,它將遍歷從查詢中獲得的每個PHP結果。此循環將採用subof值(它是一個整數ID號),然後運行查詢以獲取該整數值的值catname。然後循環將更新當前結果,並將整數的subof值更改爲循環中從DB中拉出的catname。
我不需要隨時更新數據庫,我需要從第一個查詢更新結果/數組。
約翰,你沒有很清楚地解釋你的問題。您發佈的查詢爲所有shop_id提供* subof *和* catname *的值。你想下一步該做什麼 ? – grahamj42 2013-03-23 08:15:04
是的。對不起,如果我不清楚。我想採取查詢,然後使用php循環查詢結果。對於每個結果行,抓取subof值。然後執行選擇MySQL查詢以從數據庫中獲取subof值的名稱。然後更新我正在循環的數組,以更新剛剛用名稱讀取的子文件(替換id值),或者在我們剛剛打開的數組的那一行中創建一個新條目,並將MySQL查詢中的值設置爲循環。 – John 2013-03-23 09:04:59
我更新了我的帖子,試圖更加明確我需要做什麼。 – John 2013-03-23 18:28:45