Как разделить значение запроса на несколько строк для тега select с помощью explode()
У меня есть в столбце значения размера для каждого запроса, например, 38 40 42 44, и я хочу затем выбрать поле размера и отделить его (используя explode()), чтобы дать возможность выбирать после HTML-тега select. я использовал explode()
разделить число после пробела, но код не дает мне все результаты в несколько строк
$sql = mysql_query("SELECT * FROM products WHERE id='$item_id' LIMIT 1");
while ($row = mysql_fetch_array($sql)) {
$product_name = $row["product_name"];
$price = $row["price"];
$size = $row["size"];
$myArray = explode(' ', $size);
foreach($myArray as $my_Array){
}
<select name="size"><option value="'.$my_Array.'">'.$my_Array.'</option>
<select name="size"><option value="'.$my_Array.'">'.$my_Array.'</option>
но код показывает мне только первое значение, как 38
... И я хочу показать, сколько чисел в стоимости. Покажите для каждого тег выбора со значением, чтобы предоставить возможность выбора пользователем. Я не знаю, что я пропустил.
РЕДАКТИРОВАТЬ Благодаря dpp я исправил проблему, это было с закрытием функции цикла слишком рано.
3 ответа
//assuming that `size` is stored as 38 40 42 in the same row
//also assuming your LIMIT 1 is for testing, if not, you don't need the loop
/** PLEASE CHANGE TO MYSQLI OR PDO! mysql_ is depreciated and a huge security risk **/
$sql = mysql_query("SELECT * FROM products WHERE id='$item_id' LIMIT 1");
while ($row = mysql_fetch_array($sql)) {
$product_name = $row["product_name"];
$price = $row["price"];
$size = $row["size"];
myArray = explode(' ', $size);
//heres your issue, declare select to start with
echo '<select name="size">';
foreach($myArray as $my_Array){
//the out put from your explode loop array needs to go here
echo '<option value="'.$my_Array.'">'.$my_Array.'</option>';
}
echo '</select>';
}//close the while loop
Проблема в вашем foreach($list as $value){ ... }
Вы назвали цикл так же, как список, и он может быть переписан.
Конец цикла foreach} находится в неправильном месте. Вы ничего не делаете в цикле.