PHP/MySQL | Не правильно срабатывает функция
Почему то не верно срабатывает функция продления сервера. Из выпадающего списка пользователь должен выбрать кол-во месяцев, на сколько он хочет продлить сервер. Однако сколько бы он не выбрал, все равно в базу записывается 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, не помогает.
Вот выбор на сколько продлить:
<?php
<select class="form-control" id="months" onChange="updatePrice()">
<option value="1">1 месяц</option>
<option value="3">3 месяца (-5
![%)](https://bym.guru/modules/smiles/smiles/be.gif)
<option value="6">6 месяцев (-10
![%)](https://bym.guru/modules/smiles/smiles/be.gif)
<option value="12">12 месяцев (-15
![%)](https://bym.guru/modules/smiles/smiles/be.gif)
</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, не помогает.
Koding, litepanel? Так есть там кейсы.
Traceroute (23.02.2016 в 09:28)
Koding, litepanel? Так есть там кейсы.
Koding, litepanel? Так есть там кейсы.
Да, но в этом случае там не кейсы. Во всех релизах этого движка эта ошибка. Не могу понять, как ее исправить.
Traceroute (23.02.2016 в 09:28)
Koding, litepanel? Так есть там кейсы.
Koding, litepanel? Так есть там кейсы.
а, нет, есть там кейсы. но они почему то не срабатывают, срабатывает только "1", потому что он не прописан в case :D
Чел а ты что куриш?
89828013 (23.02.2016 в 09:39)
Чел а ты что куриш?
Чел а ты что куриш?
Я не пойму суть вопроса, решение предложить хочешь?
Koding, проверку переменных через echo делай, скорее всего где-то накосячил...
VarrkaN (23.02.2016 в 09:48)
Koding, проверку переменных через echo делай, скорее всего где-то накосячил...
Koding, проверку переменных через echo делай, скорее всего где-то накосячил...
Вомзможно. Вот собственно сам case. И 1 срабатывает только потому что он default. Остальные case почему то игонорируются.
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;
}
Koding,
<select class="form-control" id="months" onChange="updatePrice()">
А name папа Римский вставлять будет?![:-D](https://bym.guru/modules/smiles/smiles/ag.gif)
<select class="form-control" id="months" name="months" onChange="updatePrice()">
________
посл. ред. 23.02.2016 в 09:55; всего 1 раз(а); by VarrkaN
<select class="form-control" id="months" onChange="updatePrice()">
А name папа Римский вставлять будет?
![:-D](https://bym.guru/modules/smiles/smiles/ag.gif)
<select class="form-control" id="months" name="months" onChange="updatePrice()">
________
посл. ред. 23.02.2016 в 09:55; всего 1 раз(а); by VarrkaN
VarrkaN (23.02.2016 в 09:54)
Koding,
<select class="form-control" id="months" onChange="updatePrice()">
А name папа Римский вставлять будет?![:-D](https://bym.guru/modules/smiles/smiles/ag.gif)
<select class="form-control" id="months" name="months" onChange="updatePrice()">
Чувак, ты только что исправил баг, который был во всех релизах данного движка. Спасибо огромное!!
Koding,
<select class="form-control" id="months" onChange="updatePrice()">
А name папа Римский вставлять будет?
![:-D](https://bym.guru/modules/smiles/smiles/ag.gif)
<select class="form-control" id="months" name="months" onChange="updatePrice()">
Стр.: 1, 2