MySQL обновляет предыдущую запись записи при вводе новых записейPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 MySQL обновляет предыдущую запись записи при вводе новых записей

Сообщение Anonymous »

Я следую за таблицами MySQL

Таблица store_update_stock

Код: Выделить всё

+-----------------+------------+-----------------+
| update_stock_id | old_row_id | transfer_status |
+-----------------+------------+-----------------+
|               1 |          0 | Approved        |
|               2 |          0 | Approved        |
|               3 |          1 | Issue           |
|               4 |          2 | Issue           |
+-----------------+------------+-----------------+
Таблица store_update_stock_details

Код: Выделить всё

+-------------------------+-----------------+------+-----+------------+
| update_stock_details_id | update_stock_id | item | qty | unit_price |
+-------------------------+-----------------+------+-----+------------+
|                       1 |               1 |  400 |   1 |      10.00 |
|                       2 |               2 |  400 |   2 |      10.00 |
|                       3 |               2 |  401 |   2 |      10.50 |
|                       4 |               2 |  402 |   4 |      11.00 |
|                       5 |               3 |  400 |   2 |      10.00 |
+-------------------------+-----------------+------+-----+------------+
Две таблицы объединены по update_stock_id. Я хочу обновить Transfer_status как «Проверено» предыдущих записей (в этом примере номера записей — 1, 2) при вставке новых записей (в этом примере номера записей — 3, 4) таблицы store_update_stock. Вывод должен быть следующим:

Код: Выделить всё

+-----------------+------------+-----------------+
| update_stock_id | old_row_id | transfer_status |
+-----------------+------------+-----------------+
|               1 |          0 | Verified        |
|               2 |          0 | Verified        |
|               3 |          1 | Issue           |
|               4 |          2 | Issue           |
+-----------------+------------+-----------------+
Мой контроллер:

Код: Выделить всё

public function verifyItemReqFromHD($id=null)
{
if ($this->form_validation->run() == true) {

$count = count($this->input->post('item_id'));
$items = $this->input->post('item_id');
$qts = $this->input->post('qty');
$unit_price = $this->input->post('unit_price');
$usid = $this->input->post('update_stock_id');

$total = 0;

for ($x = 0; $x < $count; $x++) {
$details[$x]['update_stock_id'] = null;
$details[$x]['item'] = $items[$x];
$details[$x]['qty'] = (-1)*$qts[$x];
$details[$x]['unit_price'] = $unit_price[$x];

}

$stock = array(
'old_row_id' => $usid,
'transfer_status' => 'Issue'
);

if ($this->Item_model->addItemReqFromHD($stock, $details, $id)) {
$this->session->set_flashdata('message', 'Successfully Issued..!!');
redirect('item/approvedItemsToIssue');
}

} else {
$this->session->set_flashdata('error', validation_errors());
$this->render('item/viewItemtoIssued', $meta, $this->data);
}
}
Модель следующая:

Код: Выделить всё

function addItemReqFromHD($data,$details,$id)
{
$this->db->trans_start();
if ($this->db->insert('store_update_stock', $data)) {
$id = $this->db->insert_id();
foreach ($details as $detail) {
$detail['update_stock_id'] = $id;
$this->db->insert('store_update_stock_details', $detail);
}
}
$this->db->update('store_update_stock', array('transfer_status' => 'Verified'), array($id => $array['update_stock_id']));

$this->db->trans_complete();
if ($this->db->trans_status() === true) {
return true;
}
return false;
}
Но желаемого результата не получено. Не могу понять, что я делаю не так? Кто-нибудь может мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/593 ... ew-entries
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»