Я работаю над системой управления запасами продуктов, используя CodeIgniter. Я создал форму, которая собирает информацию о продукте, такую как название бренда, родовое название, категория и сведения о ценах. Моя проблема в том, что, хотя проверка формы прошла успешно, данные, похоже, не вставляются в базу данных.
Controller InventoryController.php
Вот моя функция addProduct(), которая обрабатывает отправку формы, проверку и передачу данных в модель:
public function addProduct() {
$this->load->model('Inventory_model');
$data = $this->input->post();
$this->load->library('form_validation');
$this->form_validation->set_rules('brand_name', 'Brand Name', 'required');
$this->form_validation->set_rules('generic_name', 'Generic Name', 'required');
$this->form_validation->set_rules('category', 'Category', 'required');
if ($this->form_validation->run() == FALSE) {
// validation failed
$error = array(
"success" => false,
"message" => "Validation failed"
);
echo json_encode($error);
} else {
// validation passed
$data = array(
'brand_name' => $this->security->xss_clean($this->input->post('brand_name')),
'generic_name' => $this->security->xss_clean($this->input->post('generic_name')),
'category' => $this->security->xss_clean($this->input->post('category'))
);
$result = $this->Inventory_model->insertProduct($data);
echo json_encode($result);
}
}
Модель InventoryModel.php
Это моя функция InsertProduct() в модели, которая должна вставьте данные в таблицу продуктов:
public function insertProduct($data) {
$this->db->trans_start();
$this->db->insert('products', array(
'brand_name' => $this->security->xss_clean($data['brand_name']),
'generic_name' => $this->security->xss_clean($data['generic_name']),
'category' => $this->security->xss_clean($data['category'])
));
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
$error = array(
"success" => false,
"message" => "Error adding product"
);
return $error;
} else {
try {
$query = "SELECT *, selling_price * quantity as total FROM products ORDER BY product_id DESC";
$result = $this->db->query($query, $product_id);
$row = $result->row_array();
$total = $row['total'];
$badge_class = $row['qty_sold'] < 10 ? 'badge-danger' : 'badge-success';
$response = array(
"success" => true,
"data" => array(
"brand_name" => $row['brand_name'],
"generic_name" => $row['generic_name'],
"category" => $row['category']
)
);
return $response;
} catch (Exception $e) {
$error = array(
"success" => false,
"message" => "Error retrieving product data"
);
return $error;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... on-success
Данные формы не вставляются в базу данных, несмотря на успешную проверку ⇐ Php
Кемеровские программисты php общаются здесь
1728114458
Anonymous
Я работаю над системой управления запасами продуктов, используя CodeIgniter. Я создал форму, которая собирает информацию о продукте, такую как название бренда, родовое название, категория и сведения о ценах. Моя проблема в том, что, хотя проверка формы прошла успешно, данные, похоже, не вставляются в базу данных.
Controller [b]InventoryController.php[/b]
Вот моя функция addProduct(), которая обрабатывает отправку формы, проверку и передачу данных в модель:
public function addProduct() {
$this->load->model('Inventory_model');
$data = $this->input->post();
$this->load->library('form_validation');
$this->form_validation->set_rules('brand_name', 'Brand Name', 'required');
$this->form_validation->set_rules('generic_name', 'Generic Name', 'required');
$this->form_validation->set_rules('category', 'Category', 'required');
if ($this->form_validation->run() == FALSE) {
// validation failed
$error = array(
"success" => false,
"message" => "Validation failed"
);
echo json_encode($error);
} else {
// validation passed
$data = array(
'brand_name' => $this->security->xss_clean($this->input->post('brand_name')),
'generic_name' => $this->security->xss_clean($this->input->post('generic_name')),
'category' => $this->security->xss_clean($this->input->post('category'))
);
$result = $this->Inventory_model->insertProduct($data);
echo json_encode($result);
}
}
Модель [b]InventoryModel.php[/b]
Это моя функция InsertProduct() в модели, которая должна вставьте данные в таблицу продуктов:
public function insertProduct($data) {
$this->db->trans_start();
$this->db->insert('products', array(
'brand_name' => $this->security->xss_clean($data['brand_name']),
'generic_name' => $this->security->xss_clean($data['generic_name']),
'category' => $this->security->xss_clean($data['category'])
));
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
$error = array(
"success" => false,
"message" => "Error adding product"
);
return $error;
} else {
try {
$query = "SELECT *, selling_price * quantity as total FROM products ORDER BY product_id DESC";
$result = $this->db->query($query, $product_id);
$row = $result->row_array();
$total = $row['total'];
$badge_class = $row['qty_sold'] < 10 ? 'badge-danger' : 'badge-success';
$response = array(
"success" => true,
"data" => array(
"brand_name" => $row['brand_name'],
"generic_name" => $row['generic_name'],
"category" => $row['category']
)
);
return $response;
} catch (Exception $e) {
$error = array(
"success" => false,
"message" => "Error retrieving product data"
);
return $error;
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79056555/form-data-not-inserting-into-database-despite-validation-success[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия