Я разрабатываю корзину для интернет-магазина. Я могу легко обновить корзину без каких-либо условий.
Всякий раз, когда пользователь обновляет количество, я хочу, чтобы это количество было равно или меньше количества, которое у меня есть в моей базе данных. Поэтому я поставил условие здесь.
Это моя функция обновления корзины в контроллере:
public function update_cart()
{
$contents = $this->input->post();
foreach ($contents as $content)
{
$info = array(
'rowid'=> $content['rowid'],
'qty' => $content['qty']
);
if($content['qty'] < '0')
{
$this->session->set_flashdata('error', '*Quantity can not be less than 0 or negative value.');
}
else
{
$this->cart->update($info);
}
}
redirect('cart');
}
С этим условием все в порядке.
Но проблема возникала всякий раз, когда я ставил условие else if () {}, чтобы проверить количество, указанное пользователем, меньше или равно моему количеству в базе данных. Тогда это не работает или не принять обновление.
Это мой код с условием else if:
public function update_cart()
{
$this->load->model('admin_model');
$books = $this->admin_model->get_book_detail($id);
$contents = $this->input->post();
foreach ($contents as $content)
{
$info = array(
'rowid'=> $content['rowid'],
'qty' => $content['qty']
);
if($content['qty'] < '0')
{
$this->session->set_flashdata('error', '*Quantity can not be less than 0 or negative value.');
}
else if($content['qty'] > $books->quantity)
{
$this->session->set_flashdata('error', '*This much quantity is not in stock.');
}
else
{
$this->cart->update($info);
}
}
redirect('cart');
}
в чем проблема в моих условиях? Особенно в условиях else if ()!