0

ここでは、2 種類のアイコンを取得するクエリの例を示します。

$fetchIcon = array();
$queryIcon = $db->query("SELECT * FROM icon_code WHERE icon_type = 'icon'");
while ($fIcon = $db->fetch_assoc($queryIcon)) {
    $fetchIcon[] = $fIcon;
}

$fetchOther = array();
$queryOther = $db->query("SELECT * FROM icon_code WHERE icon_type = 'other'");
while ($fOther = $db->fetch_assoc($queryOther)) {
    $fetchOther[] = $fOther;
}

次にforeach、同じページに出力を表示するために使用します。

foreach ($fetchIcon as $Icon) {
  echo $Icon['IconName']; // select option for Icon
}

foreach ($fetchOther as $Other) {
  echo $Other['IconName']; // select option for other icon
}

質問 : 2 つのステートメントを組み合わせて 1 つのクエリにする方法を教えてください。

4

3 に答える 3

5
SELECT * FROM icon_code 
WHERE icon_type = 'icon' 
or icon_type = 'other' 
ORDER BY icon_type

また

SELECT * FROM icon_code 
WHERE icon_type in ('icon', 'other')
ORDER BY icon_type

タイプ別に注文を取得するには、order byはオプションです。

于 2012-05-08T19:44:48.117 に答える
3
SELECT *
FROM icon_code
WHERE icon_type IN ('icon', 'other')

その後

$fetchIcon = array();
$fetchOther = array();

while($row = mysql_fetch_assoc($result)) {
    switch($row['icon_type']) {
       case 'icon':
           $fetchIcon[] = $row;
           break;
       case 'other':
       default:
           $fetchOther[] = $row;
    }
}
于 2012-05-08T19:46:55.283 に答える
2

IN関数を使用することをお勧めします。

$queryOther = $db->query("SELECT * FROM icon_code WHERE icon_type IN ('other', 'icon'");
于 2012-05-08T19:46:24.607 に答える