|
|
|
ผมติดปัญหา code หน้า save รบกวนผู้รู้ไขข้อข้องใจหน่อยคร้าบบบ. |
|
|
|
|
|
|
|
ตามนี้เลยครับ
<?
$act_name=$_REQUEST['act_name'];
$act_quantity=$_REQUEST['act_quantity'];
$act_building=$_REQUEST['act_building'];
$act_tool=$_REQUEST['act_tool'];
$act_food=$_REQUEST['act_food'];
$act_time=$_REQUEST['act_time'];
include("../connect.php");
echo "$mode";
switch ($mode) {
case "1" :
$sql = "insert into activity (act_name,act_code,act_quantity,act_building,act_tool,act_food,act_time)";
$sql .=" values ('$act_name','$act_code','$act_quantity','$act_building','$act_tool','$act_food','$act_time')";
$query = mysql_query($sql) or die(mysql_error());
$msg = "เพิ่มข้อมูลกิจกรรม $act_name เรียบร้อยแล้ว";
break;
case "2" :
$sql = "update activity set act_name='$act_name',act_code='$act_code',act_quantity='$act_quantity',act_building='$act_building',act_tool='$act_tool',act_food='$act_food',act_time='$act_time'";
$sql .= " where act_id = '$act_id'";
$query = mysql_query($sql) or die(mysql_error());
$msg = "แก้ไขข้อมูลกิจกรรม $act_name เรียบร้อยแล้ว";
break;
case "3" :
$sql = "delete from activity where act_id = '$act_id'";
$msg = "ลบข้อมูลกิจกรรม $act_name เรียบร้อยแล้ว";
break;
default :
echo "Warning : default >> No case or mode value neither 1,2,3 ";
}
/* mysql_close($conn);
echo "<script>alert('$msg');window.location='view_act.php';</script>";
*/
if(mysql_query($sql)){
echo "<script>alert('$msg');</script>";
$check = 0;
} else {
echo "Query error : $sql";
$check = 1;
};
mysql_close($conn);
if($check==0){
echo "<script>window.location='view_act.php';</script>";
};
?>
ผมแบ่งไฟล์เป็น 3 ไฟล์ ครับ 1.หน้าฟอร์ม (activity.php) 2.หน้าบันทึก (save_act.php) 3.หน้าแสดงข้อมูล (view_act.php)
คือว่าจากโค้ดข้างบน ปัญหาคือ
1.ตอนเรากด submit หน้า form บันบันทึกลง db จริงครับแต่ตอนแสดงมันแสดงซ้ำกัน 2 ค่าคือบันทึกทีเดียวลง db 2ครั้ง ครับ
2.ตอนผมลบ ข้อมูลมันลบข้อมูลครับแต่ ตอนโชว์ $msg มันไม่โชว์ค่าชื่อ($act_name) ที่ให้โชว์ไม่รู้ทำไมครับ
ตอนแรกยังโชว์อยู่เลย หรือว่ามันลบ field นั้นไปแล้ว ถ้าลบไปแล้วมีวิธีไหนให้มันโชว์มั้ยครับ
3.ตรงที่ comment ไว้ พอเอาออก แล้วลบตั้งแต่บรรทัดข้างล่างมันทำไมมัน "ลบข้อมูล"ไม่ได้ครับ แต่ save กับ update ได้
เอาเท่านี้ก่อนครับ มือใหม่หัดโพสต์ครับ (ครั้งแรกครับ) รบกวนด้วย ขอบคุณครับ.
Tag : - - - -
|
|
|
|
|
|
Date :
2009-12-14 12:03:38 |
By :
Tas |
View :
945 |
Reply :
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-12-14 12:12:13 |
By :
Tas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?
$act_name=$_REQUEST['act_name'];
$act_quantity=$_REQUEST['act_quantity'];
$act_building=$_REQUEST['act_building'];
$act_tool=$_REQUEST['act_tool'];
$act_food=$_REQUEST['act_food'];
$act_time=$_REQUEST['act_time'];
include("../connect.php");
echo "$mode";
switch ($mode) {
case "1" :
$sql = "insert into activity (act_name,act_code,act_quantity,act_building,act_tool,act_food,act_time)";
$sql .=" values ('$act_name','$act_code','$act_quantity','$act_building','$act_tool','$act_food','$act_time')";
$query = mysql_query($sql) or die(mysql_error());
$msg = "เพิ่มข้อมูลกิจกรรม $act_name เรียบร้อยแล้ว";
break;
case "2" :
$sql = "update activity set act_name='$act_name',act_code='$act_code',act_quantity='$act_quantity',act_building='$act_building',act_tool='$act_tool',act_food='$act_food',act_time='$act_time'";
$sql .= " where act_id = '$act_id'";
$query = mysql_query($sql) or die(mysql_error());
$msg = "แก้ไขข้อมูลกิจกรรม $act_name เรียบร้อยแล้ว";
break;
case "3" :
$sql = "delete from activity where act_id = '$act_id'";
$msg = "ลบข้อมูลกิจกรรม $act_name เรียบร้อยแล้ว";
break;
default :
echo "Warning : default >> No case or mode value neither 1,2,3 ";
}
/* mysql_close($conn);
echo "<script>alert('$msg');window.location='view_act.php';</script>";
*/
if(mysql_query($sql)){
echo "<script>alert('$msg');</script>";
$check = 0;
} else {
echo "Query error : $sql";
$check = 1;
};
mysql_close($conn);
if($check==0){
echo "<script>window.location='view_act.php';</script>";
};
?>
ดูตามสีแดงนะครับ คุณต้องเลือกเอาว่าจะคิวรีตรงไหน ก็คุณสั่งมันรันคิวรี 2 ครั้งมันก็ซ้ำสิครับ
|
|
|
|
|
Date :
2009-12-14 12:32:10 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$act_name รู้สึกว่าจะส่งค่ามาจากหน้าฟอร์มใช้ป่าวครับ ลองตรวจดูจากหน้าฟอร์มว่ามีการส่งค่ามาถูกต้องหรือเปล่า
|
|
|
|
|
Date :
2009-12-14 12:37:51 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ้ววว ได้แล้วขอบคุณครับ.
ขอบคุณพี่ anu มากครับ
เออ แล้ว ตอน ลบ อ่ะครับ
มันทำไง ให้ msg โชว์ค่า ตัวแปรที่เราต้องการดึงมาโชว์ได้อ่ะครับ
ตรง update กับ insert มันยังโชว์อยู่เลย
หรือว่ามันลบข้อมูลไปแล้วครับ พอมีวิธีอะไรมั้ยครับ
ขอบคุณครับ.
|
|
|
|
|
Date :
2009-12-14 12:41:14 |
By :
Tas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับเดี๊ยวจะลองครับ
|
|
|
|
|
Date :
2009-12-14 12:41:58 |
By :
Tas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เออ $act_name ของ case delete
มันส่งค่ามาจากหน้า view_act.php ครับ
มันมาเป็น $act_id ครับ
ไม่รู้ว่าจะให้มันโชว้ค่าใน msg ไง
แต่ว่าตอนลบมันลบถูกแถวแล้วครับ
ขอบคุณครับ.
|
|
|
|
|
Date :
2009-12-14 12:46:42 |
By :
Tas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "3" :
ยังไม่ Query เลย มันลบ แล้วเหรอครับ
|
|
|
|
|
Date :
2009-12-14 12:53:46 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$act_id กับ $act_name มันเป็นค่าเดียวกันปะ ถ้าเป็นค่าเดียวกันก็นำ $act_id ใส่แทนตรงนี้สิ
$msg = "ลบข้อมูลกิจกรรม$act_id เรียบร้อยแล้ว";
|
|
|
|
|
Date :
2009-12-14 12:59:04 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบ พี่ Tee
ลบครับ เพราะมันรับค่า $act_id มาแล้ว
มันน่าจะดูตรงอ่ะ นี้ครับเท่าที่ผมเข้าใจนะไม่รู้ถูกป่าว
ตอบ พี่ anu
คนละค่ากันครับ
$act_id มันเป็น pk auto ของ table act
ส่วน $act_name เป็นชื่อครับ
ผมอยากให้มันโชว์ให้ user รู้อ่ะครับว่าตอนนี้คุณลบ
รายการนี้ไปแล้วครับ แต่มันโชว์แค่ "ลบข้อมูลกิจกรรม เรียบร้อยแล้ว"
ตรง msgbox ถ้าไม่ได้ไม่เป็นไรครับ
ขอบคุณ ทุกคำตอบครับ.
วันหลังผมจะได้กล้าถามอีก ปกติดูอย่างเดียว ^^
ขอบคุณครับ
|
|
|
|
|
Date :
2009-12-14 14:16:11 |
By :
Tas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้างั้นลอง echo $act_name=$_REQUEST['act_name'] ตรงนี้มาดูว่าค่ามันมาปะ ถ้าไม่มาลองกลับไปดูที่หน้าฟอร์มนะว่า Field นี้มันมีค่าป่าวครับ
|
|
|
|
|
Date :
2009-12-14 19:19:06 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|