Таблица обновления, где условие в другой таблице [дублировать]Php

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

Сообщение Anonymous »

У меня есть 2 таблица с именем po_head и po_detail . < /p>

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

po_head< /code> сохранить информацию о PO status = open (qty rese> 0) /закрыто (qty ray = 0) < /code> < /p>

po_detail
сохранить информацию о том, сколько упорядоченного элемента и заказано запаса.

оба они связаны с PO_INVOICE ...

Мне нужно обновить PO_STATUS в PO_HEADER , чтобы быть закрытым, если QTY остается в PO_DETAIL = 0

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

qty remain = sum(po_detail_qty) from po_detail pd where pd.po_invoice = ph.po_invoice< /code> < /p>

После того, как я создаю некоторую функцию в контроллере, как это: < /p>

    function receive(){
$data       = array();
$subtotal = 0;
$total = 0;
$idnr       = $this->input->post('idtut');
$id_detail  = $this->input->post('prDetailKodeBarang');
$merk       = $this->input->post('prDetailMerkId');
$kategori   = $this->input->post('prDetailKategoriId');
$qty_receive= $this->input->post('prDetailQtyRcv');
$price      = $this->input->post('prDetailPrice');
$podeid     = $this->input->post('poDetailId');
for($i = 0; $i < count($merk); $i++){
$subtotal = $qty_receive[$i] * $price[$i];
$data[] = array(
'pr_po_detail_id'       =>  $podeid[$i],
'pr_kode_barang'        =>  $id_detail[$i],
'pr_merk_item_id'       =>  $merk[$i],
'pr_invoice'            =>  $this->input->post('prheadInvoice'),
'pr_kategori_item_id'   =>  $kategori[$i],
'pr_detail_qty_receive' =>  $qty_receive[$i],
'pr_detail_price'       =>  $price[$i],
);
$total += $subtotal;

$update['po_detail_qty'] = $this->model_po->getKurangStok($podeid[$i],$qty_receive[$i]);
$key['po_detail_id'] = $podeid[$i];
$this->model_po->updateData('po_detail',$update,$key);
}
$this->db->insert_batch('pr_detail', $data);
$head = array(
'pr_invoice'        => $this->input->post('prheadInvoice'),
'pr_po_invoice'     => $this->input->post('idtut'),
'pr_pengirim'       => $this->input->post('prPengirim'),
'pr_total_bayar'    => $total,
'pr_date'           => $this->input->post('prHeadDate'),
'pr_receiver'       => $this->input->post('prHeadCreator'),
'pr_status_payment' => $this->input->post('prStatusPayment')
);
$this->model_po->create('pr_head', $head);
$this->model_po->updateStatusPO($idnr);
redirect('po');
}
< /code>

И это моя модель для статуса обновления po: < /p>

    function updateStatusPO($idnr){
$query = (" UPDATE po_head ph SET ph.po_status_po = 'CLOSED' WHERE
(SELECT SUM( pd.po_detail_qty ) FROM po_detail pd WHERE pd.po_invoice =  '".$idnr."') = '0'
AND ph.po_invoice =  '".$idnr."'
");
}
Но статус po не изменился, пока po_detail_qty был "0" .

Подробнее здесь: https://stackoverflow.com/questions/367 ... ther-table
Ответить

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

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

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

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

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