update ข้อมูลไม่ได้อะครับ ช่วยทีครับ โค๊ดไม่มี error อะครับคือผมมี 2 หน้าครับ
โค๊ดไม่มี error อะครับ
คือผมมี 2 หน้าครับ หน้าแรก
กรอกข้อมูล เพื่อเข้าเทเบิ้ลแรก ก้เข้าตามปกติ
ในหน้าที่ insert ก็ทำงานปกติ ในหน้าเดียวกัน ผมได้เขียนโค๊ด update ข้อมูล อีกเทเบิ้ลนึง
โค๊ดไม่มี error แต่ข้อมูลไม่ update ให้อะครับ
โค๊ดมีดังนี้
Code (PHP)
<?
session_start();
$tb= "tb_bill";
include "connect_odbc.php ";
$sql=("INSERT INTO $tb(id_bill,id_order,total_bill,name_bill,date_bill,time_bill,detail_bill)VALUES('$txt_id_bill','$txt_id_order','$txt_total_bill' ,'$txt_name_bill','$txt_date_bill','$txt_time_bill','$detail_bill')");
$execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้");
odbc_free_result($execute);
odbc_commit($connect);
//--------------------------------------------
include "connect_odbc.php ";
$txt_id_order= $_POST['id_order'];
$txt_status_order='yes';
$sql4 = "UPDATE tb_order SET id_order='$txt_id_order', status_order='$txt_status_order'
WHERE id_order='$txt_id_order'";
$execute = odbc_exec($connect, $sql4) or die ("เอ็กซิคิวส์คำสั่งไม่ได้");
odbc_free_result($execute);
odbc_commit($connect);
odbc_close($connect);
echo "<meta http-equiv=\"refresh\" content=\"5;URL=product.php\">";
ส่วนแรกทำงานปกติครับ ส่วนที่ 2 ไม่ update ข้อมูลอะครับ
Code (PHP)
CREATE TABLE tb_order (
id_order varchar(20) NOT NULL ,
status_order varchar(50) ,
MEM_ID VARCHAR(10)NOT NULL,
CONSTRAINT tb_order_id_order_pk PRIMARY KEY (id_order,MEM_ID)
);
Tag : - - - -
Date :
2009-10-01 20:00:06
By :
vespaclassic
View :
1001
Reply :
8
$sql4 = "UPDATE tb_order SET id_order='$txt_id_order', status_order='$txt_status_order'
WHERE id_order='$txt_id_order'";
$execute = odbc_exec($connect, $sql4) or die (mysql_error()."เอ็กซิคิวส์คำสั่งไม่ได้");
echo "<br />SQL:".$sql4;
ลองเปลี่ยน or die เป็นแบบนี้ดูนะครับ และ echo $sql4 ออกมาดูด้วย
Date :
2009-10-01 20:27:46
By :
DownsTream
ได้แบบนี้ครับ
SQL:UPDATE tb_order SET id_order='', status_order='yes' WHERE id_order=''
Date :
2009-10-01 20:48:36
By :
vespaclassic
เช็คค่า $_POST['id_order']; ดูครับว่าส่งมาหรือป่าว
Date :
2009-10-01 21:03:16
By :
reda_008
มันบอกไม่มีไอดีส่งมาครับ
Date :
2009-10-01 21:15:08
By :
somparn
ผมมาสรุปละกันนะครับ คือ มัน update ไม่ได้เพราะว่า ไม่มี $txt_status_order ไม่มีค่า ครับ ถ้าส่งมาจาก อีกหน้า page ก็ลองประกาศ
$txt_status_order = $_POST['id_order']; แบบนี้คือ server linux แต่ถ้าเป็น windows ไม่จำเป็นครับมันมองเห็น
ประเด็นคือ เช็คค่า $txt_status_order นี้ดูดีๆ ครับ มันไม่มีค่ามันก็เลย update ไม่ได้ครับ
Date :
2009-10-01 21:38:29
By :
DownsTream
มันติดปัญหาอยู่ที่หน้าส่งครับ
โค๊ดเป็นแบบนี้อ่ะครับ
Code (PHP)
<select name="txt_id_order" class="show_red" id="txt_id_order" onChange="this.form.txt_total_bill.value= this.value;">
<option value="0">เลือกใบสั่งสินค้า</option>
<?
include( "connect_odbc.php" );
$sql3 = "Select * from tb_order where mem_id ='$mem_id' ";
$result3 = odbc_exec($connect, $sql3) or die ("เอ็กซิคิวส์คำสั่งไม่ได้");
while(odbc_fetch_row($result3))// ยังแบ่งเป็นหน้า ๆ ไม่ได้
{
$mem_id=odbc_result($result3,"mem_id");
$id_order=odbc_result($result3,"id_order");
$total_order=odbc_result($result3,"total_order");
echo "<OPTION VALUE='$id_order'>$id_order</OPTION>";
}
?>
</select>
</div></td>
</tr>
<tr>
<td valign="top" class="show_back_bold"><div align="right">จำนวนเงิน : </div></td>
<td valign="top">
<div align="left">
<?
if($id_order != ""){ //กรณีที่ มี่คา id_order ส่งมาให้ทำงาน
$sql_sub="select * from tb_order where mem_id ='$mem_id' ";
$dbquery_sub = odbc_exec($connect, $sql_sub);
$result_sub=odbc_fetch_array($dbquery_sub);
?>
<input name="txt_total_bill" type="text" class="show_red" id="txt_total_bill" value="<?=$result_sub['total_order']?><? // echo "$total_order";?>" readonly="true">
มันติดอยู่ที่ส่วนนี้ครับ
คือของผม มันเมนูลิต ในส่วนของ id_order เมื่อเลือก เมนูลิตแล้ว จะมี total_order ออกมา ในช่อง txtbox
แจ่ค่าที่โชวใน texbox มันเป็น id_order แทนอะครับ
Date :
2009-10-01 21:41:06
By :
vespaclassic
ไม่ได้อยู่ดีอะครับ
ตอนนี้มัน insert ในเทเบิ้ล tb_bill ค่า id_order ก็ส่งมาได้
แต่อีกอันไม่ update ในเทเบิ้ล tb_order อะครับ
Date :
2009-10-01 22:44:02
By :
vespaclassic
Load balance : Server 00