2013-10-13 2 views
0
난 그냥 내 최신 데이터 만 삽입 업데이트 할 ..하지만 난 WHERE에서 틀렸다 확신

($query1에서와 $query2)절 WHERE PHP MySQL의에서

<?php 
include "koneksi.php"; 
$kdj=$_POST['kdj']; 
$id=$_POST['id']; 
$qty = $_POST['qty']; 
$kodelagi = mysql_query("Select kd_jual from nota ORDER BY id_nota DESC LIMIT 1"); 
$row = mysql_fetch_array($kodelagi); 
$kodelagi1 = $row['kd_jual']; 
if((!empty($id)) && (!empty($kdj)) && (!empty($qty))) 
{ 
    $query = mysql_query("INSERT INTO nota (id_item,qty,kd_jual) values ('$id','$qty','$kdj');"); 
    $query1 = mysql_query("UPDATE nota,item SET nota.harga_item = item.harga_item WHERE nota.kd_jual = '$kodelagi1'"); 
    $query2 = mysql_query("UPDATE nota SET subtotal = harga_item * qty WHERE nota.kd_jual = '$kodelagi1'"); 
    ?><script language="Javascript">; 
    document.location = 'transaksi2.php' </script><?php 
}else 
{ 
    print "<script>alert('Maaf, tidak boleh ada field yang kosong !'); 
    javascript:history.go(-1);</script>"; 
}?> 

나는이 실행되기 때문에 , 방금 내 DB에 이걸 가지고있어.

| id_nota | id_item | harga_item | qty | subtotal | Kd_jual 
| 57  | 11 | 0   | 23 | 0  |13-10-201323:32:20 
+0

무엇이 문제입니까? 그러나 첫 번째 UPDATE 쿼리에 조인 조건을 사용하면 안됩니까? 아니면 항목 테이블에 하나의 레코드 만 있습니까? – Kickstart

답변

0

심지어 삽입하기 전에 최신 삽입 기록을 얻으려고하고있다. 레코드를 삽입 한 후에 쿼리를 선택하십시오. 또한 마지막으로 삽입 된 레코드에 대해 "kd_jual"값을 얻고 있습니다. datetime 열입니다. 동일한 날짜 시간을 가진 여러 레코드가있을 수 있습니다. 따라서 특정 유스 케이스에서는 &이 차례로 두 개 이상의 레코드를 업데이트하지 못합니다. ID 열을 더 잘 사용하십시오 (id_nota)

아래와 같이 코드를 수정하려고했습니다. 나는 그것을 시험하지 않았다. 필요한 경우 수정하십시오.

<?php 
include "koneksi.php"; 
$kdj=$_POST['kdj']; 
$id=$_POST['id']; 
$qty = $_POST['qty']; 

if((!empty($id)) && (!empty($kdj)) && (!empty($qty))) 
{ 
$query = mysql_query("INSERT INTO nota (id_item,qty,kd_jual) values ('$id','$qty','$kdj');"); 

$kodelagi = mysql_query("Select id_nota from nota ORDER BY id_nota DESC LIMIT 1"); 
$row = mysql_fetch_array($kodelagi); 
$max_id_nota= $row['id_nota']; 

$query1 = mysql_query("UPDATE nota,item SET nota.harga_item = item.harga_item WHERE nota.id_nota = '$max_id_nota'"); 

$query2 = mysql_query("UPDATE nota SET subtotal = harga_item * qty WHERE nota.id_nota = '$max_id_nota'"); 

?><script language="Javascript">; 
document.location = 'transaksi2.php' </script><?php 
}else 
{ 
print "<script>alert('Maaf, tidak boleh ada field yang kosong !'); 
javascript:history.go(-1);</script>"; 
}?>