Выбор элементов постепенно увеличивается из базы данных

0

Я заполняю форму из базы данных MySQL. Цель формы - создать "форму заказа".

Все элементы из базы данных отображаются правильно, но у меня возникла проблема с одним полем. Рядом с каждым предметом есть количество, которое можно заказать в количестве 1 или 25. Мне нужно создать выпадающий список, который даст варианты 0, 25, 50, 75, 100 и т.д. Или 1, 2, 3, 4, 5 и т.д. В зависимости от столбца множителей в моей таблице.

Структура таблицы следующая:

Item Name | Multiplier | Price
Item 001  |     25     | 0.25
Item 002  |     1      | 1.50
Item 003  |     25     | 0.50
Item 004  |     1      | 2.25
Item 005  |     25     | 0.75
Item 006  |     25     | 0.50

В моем выпадающем списке под списком выбора количества опции должны быть увеличены на множитель, например

Элемент 001 Опции -

<select name="quantity">
    <option value="25">25</option>
    <option value="50>50</option>
    <option value="75">75</option>
    <option value="100">100</option>
    <option value="125">125</option>
</select>

Элемент 002 Опции -

<select name="quantity">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select>

Вот как будет выглядеть HTML-код, если бы я не возвращал таблицу из базы данных (http://www.techdesignlab.co.za/example.html):

<table border = 1> 
    <tr>
        <th>Item Name</th>
        <th>Image</th>
        <th>Quantity</th>
        <th>Price</th>
    </tr>
    <tr>
        <td>Item 001</td>
        <td><img src=4521948.jpg height=50 align=center></img></td>
        <td>
            <select>
                <option value="0">0</option>        
                <option value="25">25</option>
                <option value="50">50</option>        
                <option value="75">75</option>      
                <option value="100">100</option>  
            </select>
        </td>
        <td>0.25</td>
    </tr>
    <tr>
        <td>Item 002</td>
        <td><img src=4211098.jpg height=50 align=center></img></td>
        <td>
            <select>
                <option value="0">0</option>        
                <option value="1">1</option>
                <option value="2">2</option>        
                <option value="3">3</option>      
                <option value="4">4</option>  
            </select>
        </td>
        <td>1.50</td>
    </tr>
    <tr>
        <td>Item 003</td>
        <td><img src=pieces/300521.jpg height=50 align=center></img></td>
        <td>
            <select>
                <option value="0">0</option>        
                <option value="25">25</option>
                <option value="50">50</option>        
                <option value="75">75</option>      
                <option value="100">100</option>  
            </select>
        </td>
        <td>0.50</td>
    </tr>
</table>  

Вопрос: Как получить значения опций для увеличения на множитель? Пытался:

$total=5000;
echo '<td><select>';
for ($i = 0; $i < $total; $i++) {
   echo '<option value="'.$row['multiplier'].'">'.$row['multiplier'].'</option>';
}
echo '</select></td>';

Заранее спасибо.

  • 1
    Что вы пробовали? Какой у Вас вопрос ?
Теги:
forms

2 ответа

1
Лучший ответ

Просто используйте ваш счетчик цикла, чтобы умножить значение $row['multiplier']:

$total = 5000;
echo '<td><select>';
for($i = 0; $i * $row['multiplier'] < $total; $i++) {
      $value = $i * $row['multiplier'];
      echo "<option value=\"$value\">$value</option>";
}
echo '</select></td>';

В качестве альтернативы вы можете просто увеличить переменную цикла на $row['multiplier']:

for($i = 0; $i < $total; $i += $row['multiplier']) {
      echo "<option value=\"$i\">$i</option>";
}
  • 0
    Это выглядит как раз то, что мне нужно. Единственная проблема в том, что $ Total Variable, похоже, не останавливается на указанной сумме 5000.
  • 1
    @LeonClaassen Я не был уверен, как вы используете $total . Я буду редактировать ...
Показать ещё 3 комментария
0

Возьмите все предметы из таблицы и выполните цикл for, как показано ниже

<?php
foreach ($items as $item) {
?>
    <tr>
    <td><?php echo $item->name ?></td>
    <td><img src=4521948.jpg height=50 align=center></img></td>
    <td>
        <select>
            <option value="0">0</option>        
            <option value="<?php echo ($item->multiplier * 1); ?>"><?php echo ($item->multiplier * 1); ?></option>
            <option value="<?php echo ($item->multiplier * 2); ?>"><?php echo ($item->multiplier * 2); ?></option>        
            <option value="<?php echo ($item->multiplier * 3); ?>"><?php echo ($item->multiplier * 3); ?></option>      
            <option value="<?php echo ($item->multiplier * 4); ?>"><?php echo ($item->multiplier * 4); ?></option>  
        </select>
    </td>
    <td><?php echo $item->price ?></td>
    </tr>
<?php } ?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню