PHP で関数を作成しました。この関数の目的は、次の行を HTML 選択タグに出力することです。
<option value="<?php echo $key . $product[$name . '_id'] == $key ? 'selected' : null ?>"><?php echo $value ?></option>
これは私が思いついたものです:
function Select($name){
$ids = array();
$values = array();
$query1 = $sql->query("SELECT * FROM '$name'");
while($fetch = $query1->fetch_assoc()){
array_push($ids, $fetch[$name . '_id']);
array_push($values, $fetch[$name]);
}
$names = array_combine($ids, $values);
foreach($names as $key => $value){
return '<option value="' . $key . '"' . $product[$name . '_id'] == $key ? 'selected' : null . '>' . $value . '</option>';
}
}
これは機能していないようですが、これを HTML select タグに直接配置すると機能します。次のようになります。
<select name="type" class="chozen" id="type">
<?php
$brand_ids = array();
$brand_values = array();
$query1 = $sql->query("SELECT * FROM brands");
while($brand = $query1->fetch_assoc()){
array_push($brand_ids, $brand['brand_id']);
array_push($brand_values, $brand['brand']);
}
$brands = array_combine($brand_ids, $brand_values);
foreach($brands as $key => $value){
?>
<option value="<?php echo $key ?>"<?php echo $product['brand_id'] == $key ? 'selected' : null ?>><?php echo $value; ?></option>
<?php
}
?>
</select>
誰かが私が間違っていた場所を教えてもらえますか、私はそれを理解できません。