私はこれについてかなり混乱しています。以下のスイッチ/ケースを使用しているときに、ケース 1 をエコーアウトすると、結果は次のようになります。
Metal Cover (300)
Plexi (300)
Flat Cover (200)
Paper Cover (250)
json_encode をエコーアウトすると、次のように返されます。
{"300":"Plexi (300)","200":"Flat Cover (200)","250":"Paper Cover (250)"}
行の 1 つが失われるのはなぜですか? - ありがとう
コード
$type = 'cover';
$stt = 1;
$productId = 81;
$results = array();
switch ($type) {
case "cover":
$query = mysql_query("SELECT *
FROM albumcover
WHERE productId = '{$productId}'
");
$results[0] ="None";
switch ($stt){
case 1:
while($row = mysql_fetch_array($query)){
echo $results[$row['price2']] = $row['coverupgrade'] . ' (' . $row['price2'] . ')<br>';
}
break;
case 2:
while($row = mysql_fetch_array($query)){
$results[$row['price3']] = $row['coverupgrade'] .' (' . $row['price3'] . ')';
}
break;
case 3:
while($row = mysql_fetch_array($query)){
$results[$row['price4']] = $row['coverupgrade'] .' (' . $row['price4'] . ')';
}
break;
default :
while($row = mysql_fetch_array($query)){
$results[$row['price1']] = $row['coverupgrade'].' ('.$row['price1'].')';
}
break;
}
echo json_encode($results);