簡體   English   中英

一個SQL查詢中將使用兩個foreach循環

[英]Two foreach loops to be used in one SQL query

我有兩個數組:

$armortype = array(5,8);

$slotarray = array(1,2,3,5,6,7,8,9,10,11,11,12,16);

如何將這兩個組合成一個foreach循環? 這是當前的代碼:

foreach($slotarray as $slot)
{
    foreach($armortype as $armor)
        $itempack = mysql_query("SELECT * FROM db WHERE ItemLevel BETWEEN $formlevel1 AND $formlevel2 AND InventoryType =$slot AND Quality<5 AND AllowableClass in ('$formclass', '-1','2047','32767') AND Material=$armor ORDER BY RAND() LIMIT 1");
    }
}

我的$ armor值不正確。

$itempack = mysql_query("SELECT * 
    FROM db
    WHERE ItemLevel BETWEEN $formlevel1 AND $formlevel2
        AND InventoryType = in ('". implode("', '", $slotarray) ."')
        AND Quality<5
        AND AllowableClass in ('$formclass', '-1','2047','32767')
        AND Material = in ('". implode("', '", $armortype) ."')
    ORDER BY RAND()
    LIMIT 1");

那應該做。 放置它而不是兩個循環。 它只運行一個查詢,而不是數十個查詢...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM