У меня, вероятно, простая проблема, но я новичок ie в PHP
У меня есть кнопка выбора:
<select name="ads_plan[]">
<option value="">Choose plan</option>
<option value="Free">Free</option>
<option value="Basic">Basic</option>
<option value="Premium">Premium</option>
<option value="Delux">Delux</option>
</select>
И я хватаюсь за это PHP
код:
<?php
$ads_plan = $_POST['ads_plan'];
foreach ($ads_plan as $item) {
if ($item == 'Free') {
echo 'Free';
}
elseif ($item == 'Basic') {
echo 'Basic';
}
// etc
?>
Теперь я хочу добавить выбранное значение в запрос. И я сделал это следующим образом:
ОБНОВЛЕНО Также обратите внимание, что у меня есть метод choosePlan()
, где каждый план собирает свою дату и добавляет спецификацию c номер дня в столбце ads_end_date
. Например, если пользователь выберет Премиум-план, метод добавит 7 дней к текущей дате и в этот день удалит эту строку из базы данных. $function->choosePlan(7, 'Premium')
<?php
foreach ($ads_plan as $item) {
$users_id = $_SESSION['id'];
if ($item == 'Free')
$add_free_ads = $db->query("INSERT INTO users_ads (user_id, ads_name, ads_description, ads_category, ads_image, ads_price, ads_location, ads_phone, ads_plan, ads_end_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", $users_id, $ads_name, $ads_description, $ads_category, $ads_image, $ads_price, $ads_location, $ads_phone, $ads_plan, $function->choosePlan(3, 'Free'));
elseif ($item == 'Basic')
$add_basic_ads = $db->query("INSERT INTO users_ads (user_id, ads_name, ads_description, ads_category, ads_image, ads_price, ads_location, ads_phone, ads_plan, ads_end_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", $users_id, $ads_name, $ads_description, $ads_category, $ads_image, $ads_price, $ads_location, $ads_phone, $ads_plan, $function->choosePlan(5, 'Basic'));
elseif ($item == 'Premium')
$add_premium_ads = $db->query("INSERT INTO users_ads (user_id, ads_name, ads_description, ads_category, ads_image, ads_price, ads_location, ads_phone, ads_plan, ads_end_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", $users_id, $ads_name, $ads_description, $ads_category, $ads_image, $ads_price, $ads_location, $ads_phone, $ads_plan, $function->choosePlan(7, 'Premium'));
else
$add_delux_ads = $db->query("INSERT INTO users_ads (user_id, ads_name, ads_description, ads_category, ads_image, ads_price, ads_location, ads_phone, ads_plan, ads_end_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", $users_id, $ads_name, $ads_description, $ads_category, $ads_image, $ads_price, $ads_location, $ads_phone, $ads_plan, $function->choosePlan(10, 'Delux'));
}
?>
Это выше работает, но я знаю, что это не правильный подход. Поэтому мой вопрос заключается в том, как я могу оптимизировать весь этот код. Есть ли способ, как я могу сделать это только с одним запросом?
Спасибо