ช่วยแก้ไขคำสั่งแก้ไขข้อมูลให้ทีครับ.
ทำยังไงให้กดปุ่มแก้ไข แล้วนำค่าจากตารางมาใส่ใน textbox (ในที่นี้ยังไม่มี) ที่ไฟล์ view-user.php แล้วพอแก้ไขข้อมูลเสร็จกด อัพเดท ค่าในตารางก็จะเปลี่ยนเป็นค่าที่เราอัพเดทล่าสุดครับ
connect.php
[code]<?php
$objConnect = mysql_connect("localhost","username","password") or die(mysql_error());
$objDB = mysql_select_db("database");
mysql_query("SET NAMES utf8", $objConnect);
?>
view-user.php
<?php
ob_start();
session_start();
include "connect.php";
?>
<!doctype html>
<head>
<script type="text/javascript" src="scripts/user.js"></script>
</head>
<body>
<tr>
<th>Member ID</th>
<th>Email</th>
<th>Display Name</th>
<th>Grant</th>
<th>Active</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<tr>
<?php
$sql = "select * from tb_member";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
$i = 0;
while ($i < $num) {
$row = mysql_fetch_array($result);
$userid = $row['member_id'];
$email = $row['member_email'];
$name = $row['member_disname'];
$grant = $row['grant'];
$active = $row['active'];
echo "<tr>";
echo "<td>$userid</td>";
echo "<td>$email</td>";
echo "<td>$name</td>";
echo "<td>$grant</td>";
echo "<td>$active</td>";
$show_id = $row['member_id'];
echo "<td><span id='edit' OnClick='show_members($show_id)'>
<img border=0 src='images/icn_edit.png'/></span></td>";
$del_id = $row['member_id'];
echo "<td><span id='del' onclick='del_members($del_id)'>
<img border=0 src='images/icn_trash.png'></span></td>";
echo "</tr>";
$i ;
}
?>
</tr>
user.js
[code]/*-----------------------SHOW----------------------*/
function show_members(show_id){
alert(show_id);
var str=Math.random();
var datastring='str=' str '&show_id=' show_id ;
$.ajax({
type:'POST',
url:'user_process.php',
data:datastring,
beforeSend: function(){
$("#show_id").html('<img src="loading2.gif">');
},
success:function(data){
$("#show_id").html(data);
}
});
}
/*-----------------------EDIT----------------------*/
function edit_members(edit_id){
alert(edit_id);
var str=Math.random();
var username = document.myform.username.value;
var password = document.myform.password.value;
var email = document.myform.email.value;
var datastring='str=' str '&edit_id=' edit_id '&agent=' grant
'&active=' active;
$.ajax({
type:'POST',
url:'user_process.php',
data:datastring,
beforeSend: function(){
$("#show_id").html('<img src="loading2.gif">');
},
success:function(data){
window.location.reload("view-user.php");
}
});
}
/*-----------------------DEL----------------------*/
function del_members(del_id){
alert(del_id);
var str=Math.random();
var datastring='str=' str '&del_id=' del_id;
$.ajax({
type:'POST',
url:'user_process.php',
data:datastring,
beforeSend: function(){
$("#show_id").html('<img src="loading2.gif">');
},
success:function(data){
alert (data);
window.location.reload("view-user.php");
}
});
}
user_process.php
<?php
include 'connect.php';
/*-----------------SHOW MEMBERS FOR EDIT--------------*/
$show_id = $_POST['show_id'];
if($_POST['show_id']){
$sql = "select * from tb_member where member_id = '$show_id'";
$result = mysql_query($sql);
$row= mysql_fetch_array($result);
$edit_id = $row['member_id'];
$edit_grant = $row['grant'];
$edit_active = $row['active'];
echo "<div id = 'edit_id'>";
echo "<form name = myform>";
echo "<div style='margin-left:22px;margin-bottom:8px;'>
grant:
<input type='text' name='grant' value='$grant'size=25></div>";
echo "<div style='margin-left:25px;margin-bottom:8px;'>
active:
<input type='text' name='active' value='$active'size=25></div>";
echo "<div>
<input type='button' onclick='edit_members($edit_id)'
value='Edit'></div>";
echo "</form>";
echo "</div>";
}
/*--------------------EDIT MEMBERS---------------------*/
$edit_id = $_POST['edit_id'];
$grant = $_POST['grant'];
$active = $_POST['active'];
if($_POST['edit_id']){
if($grant =="" || $active ==""){
echo "error";
}
else{
$sql = "update tb_member set
grant = '$grant',
active = '$active',
where member_id = '$edit_id'";
mysql_query($sql);
echo "success";
}
}
/*--------------------DEL MEMBERS---------------------*/
$del_id = $_POST['del_id'];
if($_POST['del_id']){
$sql = "delete from tb_member where member_id = '$del_id'";
echo $sql;
$result = mysql_query($sql);
echo $result;
}
connect.php
[code]<?php
$objConnect = mysql_connect("localhost","username","password") or die(mysql_error());
$objDB = mysql_select_db("database");
mysql_query("SET NAMES utf8", $objConnect);
?>
view-user.php
<?php
ob_start();
session_start();
include "connect.php";
?>
<!doctype html>
<head>
<script type="text/javascript" src="scripts/user.js"></script>
</head>
<body>
<tr>
<th>Member ID</th>
<th>Email</th>
<th>Display Name</th>
<th>Grant</th>
<th>Active</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<tr>
<?php
$sql = "select * from tb_member";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
$i = 0;
while ($i < $num) {
$row = mysql_fetch_array($result);
$userid = $row['member_id'];
$email = $row['member_email'];
$name = $row['member_disname'];
$grant = $row['grant'];
$active = $row['active'];
echo "<tr>";
echo "<td>$userid</td>";
echo "<td>$email</td>";
echo "<td>$name</td>";
echo "<td>$grant</td>";
echo "<td>$active</td>";
$show_id = $row['member_id'];
echo "<td><span id='edit' OnClick='show_members($show_id)'>
<img border=0 src='images/icn_edit.png'/></span></td>";
$del_id = $row['member_id'];
echo "<td><span id='del' onclick='del_members($del_id)'>
<img border=0 src='images/icn_trash.png'></span></td>";
echo "</tr>";
$i ;
}
?>
</tr>
user.js
[code]/*-----------------------SHOW----------------------*/
function show_members(show_id){
alert(show_id);
var str=Math.random();
var datastring='str=' str '&show_id=' show_id ;
$.ajax({
type:'POST',
url:'user_process.php',
data:datastring,
beforeSend: function(){
$("#show_id").html('<img src="loading2.gif">');
},
success:function(data){
$("#show_id").html(data);
}
});
}
/*-----------------------EDIT----------------------*/
function edit_members(edit_id){
alert(edit_id);
var str=Math.random();
var username = document.myform.username.value;
var password = document.myform.password.value;
var email = document.myform.email.value;
var datastring='str=' str '&edit_id=' edit_id '&agent=' grant
'&active=' active;
$.ajax({
type:'POST',
url:'user_process.php',
data:datastring,
beforeSend: function(){
$("#show_id").html('<img src="loading2.gif">');
},
success:function(data){
window.location.reload("view-user.php");
}
});
}
/*-----------------------DEL----------------------*/
function del_members(del_id){
alert(del_id);
var str=Math.random();
var datastring='str=' str '&del_id=' del_id;
$.ajax({
type:'POST',
url:'user_process.php',
data:datastring,
beforeSend: function(){
$("#show_id").html('<img src="loading2.gif">');
},
success:function(data){
alert (data);
window.location.reload("view-user.php");
}
});
}
user_process.php
<?php
include 'connect.php';
/*-----------------SHOW MEMBERS FOR EDIT--------------*/
$show_id = $_POST['show_id'];
if($_POST['show_id']){
$sql = "select * from tb_member where member_id = '$show_id'";
$result = mysql_query($sql);
$row= mysql_fetch_array($result);
$edit_id = $row['member_id'];
$edit_grant = $row['grant'];
$edit_active = $row['active'];
echo "<div id = 'edit_id'>";
echo "<form name = myform>";
echo "<div style='margin-left:22px;margin-bottom:8px;'>
grant:
<input type='text' name='grant' value='$grant'size=25></div>";
echo "<div style='margin-left:25px;margin-bottom:8px;'>
active:
<input type='text' name='active' value='$active'size=25></div>";
echo "<div>
<input type='button' onclick='edit_members($edit_id)'
value='Edit'></div>";
echo "</form>";
echo "</div>";
}
/*--------------------EDIT MEMBERS---------------------*/
$edit_id = $_POST['edit_id'];
$grant = $_POST['grant'];
$active = $_POST['active'];
if($_POST['edit_id']){
if($grant =="" || $active ==""){
echo "error";
}
else{
$sql = "update tb_member set
grant = '$grant',
active = '$active',
where member_id = '$edit_id'";
mysql_query($sql);
echo "success";
}
}
/*--------------------DEL MEMBERS---------------------*/
$del_id = $_POST['del_id'];
if($_POST['del_id']){
$sql = "delete from tb_member where member_id = '$del_id'";
echo $sql;
$result = mysql_query($sql);
echo $result;
}
1.ต้องทำการส่งข้อมูลด้วย Ajax เพื่อให้สามารถรับค่ากลับได้ โดยอ่านบทความเกี่ยวกับ Ajax ทั่วไป บนเว็บนี้ก้มี
2.เมื่อทำการ ส่งค่าไปบันทึกแล้ว ให้ส่งค่าที่ต้องการแสดงผลกลับมาด้วย ซึ่งถ้าใช้ XML หรือ JSON ก็สามารถส่งค่ากลับได้หลายค่า
3.นำค่าที่ได้รับการส่งกลับจาก Ajax ในข้อ 2 ไปใส่ที่ input ที่ต้องการ
ถ้าไม่รู้อะไรเลยลองทำตาม step และแก้ปัญหาเป็นข้อๆตามด้านบนครับ เริ่มต้นจาก
1.ใช้ Ajax ส่งค่าไปบันทึกยังฐานข้อมูลให้ได้ ศึกษาเรื่อง Ajax
2.ศึกษาเรื่อง JSON เพิ่มเติม (แนะนำ) หากต้องการส่งค่ากลับมากกว่า 1 ค่า แต่ถ้าต้องการส่งค่ากลับมาเพียงรายการเดียวก็ไม่จำเป็น
3.ก็นำค่าที่ได้ไปใส่ input ถ้าไม่รู้จะใส่ยังไง ก็ศึกษาเรื่อง DOM เพิ่มเติม แต่โดยทั่วไปจะใช input.value = 'xxx';
ทั้งหมดนี้หาตัวอย่างได้ไม่ยากครับ และบนเว็บนี้ก็มีครับ