Добро пожаловать, Гость!
Не правильно срабатывает функция
Помощь мастерам | Не правильно срабатывает функция
Кодинг :
Почему то не верно срабатывает функция продления сервера. Из выпадающего списка пользователь должен выбрать кол-во месяцев, на сколько он хочет продлить сервер. Однако сколько бы он не выбрал, все равно в базу записывается 1.
Вот выбор на сколько продлить:
<?php
<select class="form-control" id="months" onChange="updatePrice()">
<option value="1">1 месяц</option>
<option value="3">3 месяца (-5%)</option>
<option value="6">6 месяцев (-10%)</option>
<option value="12">12 месяцев (-15%)</option>
</select>
?>
Через эту функцию должно записаться:
<?php
$this->serversModel->extendServer($serverid, $months, false);
?>
Сама функция:
<?php
public function extendServer($serverid, $month, $fromCurrent) {
$sql = "UPDATE `servers` SET server_date_end = ";
if($fromCurrent)
$sql .= "NOW()";
else
$sql .= "server_date_end";
$sql .= "+INTERVAL " . (int)$month . " MONTH WHERE server_id = '" . (int)$serverid . "'";
$this->db->query($sql);
}
?>
P.S: пытался в функции менять month на months, не помогает.
Не правильно срабатывает функция
23 Фев 2016Почему то не верно срабатывает функция продления сервера. Из выпадающего списка пользователь должен выбрать кол-во месяцев, на сколько он хочет продлить сервер. Однако сколько бы он не выбрал, все равно в базу записывается 1.
Вот выбор на сколько продлить:
<?php
<select class="form-control" id="months" onChange="updatePrice()">
<option value="1">1 месяц</option>
<option value="3">3 месяца (-5%)</option>
<option value="6">6 месяцев (-10%)</option>
<option value="12">12 месяцев (-15%)</option>
</select>
?>
Через эту функцию должно записаться:
<?php
$this->serversModel->extendServer($serverid, $months, false);
?>
Сама функция:
<?php
public function extendServer($serverid, $month, $fromCurrent) {
$sql = "UPDATE `servers` SET server_date_end = ";
if($fromCurrent)
$sql .= "NOW()";
else
$sql .= "server_date_end";
$sql .= "+INTERVAL " . (int)$month . " MONTH WHERE server_id = '" . (int)$serverid . "'";
$this->db->query($sql);
}
?>
P.S: пытался в функции менять month на months, не помогает.
Комментарии:
Zed 23 Фев 2016
js функцию Updateprice() покажт
Кодинг (23 Фев 2016):
Zed, да, страничка не перезагружается при нажатии кнопки.
Кодинг, Zed, да, страничка не перезагружается при нажатии кнопки.
js функцию Updateprice() покажт
Кодинг 23 Фев 2016
Автор темы
Автор темы
Zed (23 Фев 2016):
Кодинг, я так понял у тебя данные без перезагрузки идут?
Zed, да, страничка не перезагружается при нажатии кнопки.Кодинг, я так понял у тебя данные без перезагрузки идут?
Zed 23 Фев 2016
Кодинг (23 Фев 2016):
Zed, Вот $months
<?php
switch($months) {
case "3":
// Скидка 5%
$months = 3;
$price = $price * 0.95;
break;
case "6":
// Скидка 10%
$months = 6;
$price = $price * 0.90;
break;
case "12":
// Скидка 15%
$months = 12;
$price = $price * 0.85;
break;
default:
$months = 1;
}
?>
Добавлено:
Zed, как я понял, срабатывает 1 только потому что она default. странно, почему не срабатывают другие case?
Кодинг, я так понял у тебя данные без перезагрузки идут?Zed, Вот $months
<?php
switch($months) {
case "3":
// Скидка 5%
$months = 3;
$price = $price * 0.95;
break;
case "6":
// Скидка 10%
$months = 6;
$price = $price * 0.90;
break;
case "12":
// Скидка 15%
$months = 12;
$price = $price * 0.85;
break;
default:
$months = 1;
}
?>
Добавлено:
Zed, как я понял, срабатывает 1 только потому что она default. странно, почему не срабатывают другие case?
Кодинг 23 Фев 2016
Автор темы
<?php
switch($months) {
case "3":
// Скидка 5%
$months = 3;
$price = $price * 0.95;
break;
case "6":
// Скидка 10%
$months = 6;
$price = $price * 0.90;
break;
case "12":
// Скидка 15%
$months = 12;
$price = $price * 0.85;
break;
default:
$months = 1;
}
?>
Добавлено:
Zed, как я понял, срабатывает 1 только потому что она default. странно, почему не срабатывают другие case?
Автор темы
Zed (23 Фев 2016):
А где сама переменная с POST данными
Zed, Вот $monthsА где сама переменная с POST данными
<?php
switch($months) {
case "3":
// Скидка 5%
$months = 3;
$price = $price * 0.95;
break;
case "6":
// Скидка 10%
$months = 6;
$price = $price * 0.90;
break;
case "12":
// Скидка 15%
$months = 12;
$price = $price * 0.85;
break;
default:
$months = 1;
}
?>
Добавлено:
Zed, как я понял, срабатывает 1 только потому что она default. странно, почему не срабатывают другие case?