ช่วยดู code ให้หน่อยครับว่าทำไม update ลง db ไม่ได้
echo ตัวแปร $sql ออกมาดูครับ
แล้วลองเอาคำสั่ง sql ที่ได้ไปรันใน phpmyadmin ดู
มันจะบอกว่าคำสั่งผิดตรงไหน?
Date :
2012-03-12 12:05:20
By :
iamatomix
Code (PHP)
UPDATE member SET username = '$_POST[user_edit]',
email = '$_POST[email_edit]',
country = '$_POST[con_edit]',
province = '$_POST[pro_edit]' WHERE user_id = '$_GET[user_id]'
ไม่เห็นได้เลยครับ ลองให้ phpmyadmin รันดูก็ไม่ได้
Date :
2012-03-12 12:46:57
By :
Spect2um
ผมไม่ทราบว่าตอนส่งค่ามามีการส่งค่า user_id มาด้วยหรือเปล่าครับ ตามนี้
user_id='$_GET[user_id];
เพราะถ้าไม่ส่งมา ตรง where จะรับค่ามาไม่ได้ครับลองดูนะครับ
Date :
2012-03-12 12:50:27
By :
prach_kp
อันนี้เป็นหน้า edit ครับ
Code (PHP)
<?
include("config.php");
$sql="select * from member where user_id='$_GET[user_id]'";
$result=mysql_query($sql,$conn);
$fetch = mysql_fetch_array($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="edit2.php">
<table align="center" cellspacing="2">
<tr>
<td><b>Username : </b></td>
<td><input name="user_edit" type="text" id="user_edit" value="<?=$fetch[username]?>" size="26" /></td>
</tr>
<tr>
<td><b>ชื่อ-นามสกุล : </b></td>
<td><?=$fetch[name]?></td>
</tr>
<tr>
<td><b>อีเมล : </b></td>
<td><input name="email_edit" type="text" value="<?=$fetch[email]?>" size="26" /></td>
</tr>
<tr>
<td><b>ประเทศ : </b></td>
<td><input name="con_edit" type="text" id="con_edit" value="<?=$fetch[country]?>" size="26" /></td>
</tr>
<tr>
<td valign="top"><b>จังหวัด :</b></td>
<td><input name="pro_edit" type="text" id="pro_edit" value="<?=$fetch[province]?>" size="26" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Submit" />
<input type="reset" value="Reset" /></td>
</tr>
</table>
</form>
</body>
</html>
กำหนดค่าตรงนี้ครับ
Code (PHP)
<a href="edit.php?user_id=<?=$sql[user_id]?>">Edit</a>
ประวัติการแก้ไข 2012-03-12 12:57:25
Date :
2012-03-12 12:56:38
By :
Spect2um
อย่าลืมใส่ ; ด้านหลัง [user_id]; ครับลองดูนะ
<a href="edit.php?user_id=<?=$sql[user_id];?>">Edit</a>
ประวัติการแก้ไข 2012-03-12 13:02:25
Date :
2012-03-12 13:01:45
By :
prach_kp
ผมยังไม่เห็นตัวนี้ในโค้ดเลยนะครับ
<a href="edit.php?user_id=<?=$sql[user_id]?>">Edit</a>
เพราะเท่าที่ดูโค้ดข้างบนจะ action ไปที่ edit2.php ซึ่งจะไม่มีการส่งค่าไปอยู่แล้วครับ
Date :
2012-03-12 13:04:56
By :
prach_kp
สำหรับตัวนี้ <a href="edit.php?user_id=<?=$sql[user_id]?>">Edit</a>
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="1">
<tr>
<th>Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?
if($_GET["txtKeyword"] != "")
{
include("config.php");
$objDB = mysql_select_db("db");
$strSQL = "SELECT * FROM member WHERE (username LIKE '%".$_GET["txtKeyword"]."%') ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="693" border="1"><td><table width="693" border="1">
<tr>
<th width="90"> <div align="center">Memberid </div></th>
<th width="113"> <div align="center">Name </div></th>
<th width="138"> <div align="center">Email </div></th>
<th width="96"> <div align="center">country </div></th>
<th width="57"> <div align="center">province </div></th>
<td width="60">แก้ไข</td>
<td width="60">ลบ</td>
</tr>
<?
while($sql = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center">
<?=$sql["user_id"];?>
</div></td>
<td><?=$sql["name"];?></td>
<td><?=$sql["email"];?></td>
<td><div align="center">
<?=$sql["country"];?>
</div></td>
<td align="right"><?=$sql["province"];?></td>
<td align="center"><a href="edit.php?user_id=<?=$sql[user_id];?>">Edit</a></td>
<td><a href="delete.php?user_id=<?=$sql[user_id];?>">del</a></td>
</tr>
<?
}
?>
</table> <a href="del1.php"></a></td>
</tr>
</table>
<?
mysql_close();
}
?>
</body>
</html>
ทั้งหมดที่ให้มาก็หมดแล้วนะครับ
Date :
2012-03-12 13:14:15
By :
Spect2um
อ๋อ... ถ้าอย่างนั้นลืมใส่ เครื่องหมาย ("") Double Quote ตรง ["user_id"] ครับ
<a href="edit.php?user_id=<?=$sql["user_id"];?>">Edit</a>
Date :
2012-03-12 13:22:35
By :
prach_kp
อันนี้ด้วยนะครับ
<a href="delete.php?user_id=<?=$sql["user_id"];?>">del</a>
Date :
2012-03-12 13:24:09
By :
prach_kp
mysql_db_query
เป็น
mysql_query
Date :
2012-03-12 13:38:36
By :
Dragons_first
ลอง echo ดูว่าได้ค่า user_id หรือเปล่าครับ
Code (PHP)
<?php
$user_id = $_GET["user_id"];
echo $user_id;
?>
Date :
2012-03-12 14:09:13
By :
prach_kp
ไม่รู้ว่าจะช่วยได้มั้ยนะครับ(แล้วทำได้รึยัง) ลองเปลี่ยนโค้ดตอนอัพเดตอ่ะครับเป็น
Code (PHP)
$sql="UPDATE member SET username ='".$_POST["user_edit"]."',email ='".$_POST["email_edit"]."',country ='".$_POST["con_edit"]."',province ='".$_POST["pro_edit"]."' where user_id='".$_GET["user_id"]."' ";
ลองดูนะครับว่าจะได้มั้ย
Date :
2012-03-12 14:42:10
By :
akkaneetha
ก็ยังไม่ได้เช่นเดิมครับ เป็นอะไรเนี่ย
Date :
2012-03-12 14:48:26
By :
Spect2um
ิbanky นี่คุณ สเปรคตรัม หรือป่าวครับ 555
Date :
2012-03-12 14:59:18
By :
ชายกลาง
แล้วเคยทำอันอื่นที่ใช้การอัพเดตเหมือนกันมั้ยครับ ลองปรับแก้เป็นแบบนี้ดูมั้ยครับ
Code (PHP)
$pmSQL = "UPDATE member SET ";
$pmSQL .="username = '".$_POST["user_edit"]."' ";
$pmSQL .=",email = '".$_POST["email_edit"]."' ";
$pmSQL .=",country = '".$_POST["con_edit"]."' ";
$pmSQL .=",province = '".$_POST["pro_edit"]."' ";
$pmSQL .="WHERE usr_id = '".$_GET["user_id"]."' ";
$pmQuery = mysql_query($pmSQL);
ลองปรับแก้ดูอ่ะครับ ผมเคยลองเขียนแบบยาวๆต่อกัน มันก็เป็นแบบคุณอ่ะครับอัพเดตไม่ได้เลย ลองปรับเป็นแบบโค้ดข้างบนนะครับ
ประวัติการแก้ไข 2012-03-12 15:06:22
Date :
2012-03-12 15:04:18
By :
akkaneetha
Code (PHP)
<?
include "config.php";
$pmSQL = "UPDATE member SET ";
$pmSQL .="username = '".$_POST["user_edit"]."' ";
$pmSQL .=",email = '".$_POST["email_edit"]."' ";
$pmSQL .=",country = '".$_POST["con_edit"]."' ";
$pmSQL .=",province = '".$_POST["pro_edit"]."' ";
$pmSQL .="WHERE usr_id = '".$_GET["user_id"]."' ";
$pmQuery = mysql_query($pmSQL);
if ($pmSQL) {
echo "<h3>ข้อมูลของท่านถูกแก้ไขเรียบร้อยแล้ว</h3>";
echo'<meta http-equiv="refresh" content="3; URL= search1.php">';
} else {
echo "<h3>ไม่สามารถแก้ไขข้อมูลได้</h3>";
echo'<meta http-equiv="refresh" content="3; URL=edit.php">';
}
mysql_close();
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
body {
background-color: #FFFFCC;
}
-->
</style>
ก็ไม่ได้อะครับ สงสัยว่าเกี่ยวกับการส่งค่าป่าว
Date :
2012-03-12 15:08:10
By :
Spect2um
มันมีทั้ง $_POST / $_GET สรุปแล้วส่งค่ายังไงครับ
Date :
2012-03-12 15:12:01
By :
ไวยวิทย์
งั้นลองแบบนี้นะครับ ลองศึกษาจากโค้ดที่ผมทำไว้ละกันครับ
เริ่มจาก คิวรี่ข้อมูลทั้งมหดมาอยู่ในตาราง
1.ดูรายชื่อสมาชิก
Code (PHP)
include("../connect.php");
$strSQL = "SELECT * FROM members ORDER BY UserID ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#FF9900">
<tr>
<th colspan="6" align="left"><span class="style20">: : รายชื่อสมาชิก : :</span></th>
<th colspan="3" align="right" bgcolor="#FFFFFF"><a href="../admin_page.php"><img src="../image/home1.gif" width="53" height="22" border="0" /></a></th>
</tr>
<tr>
<th> </th>
<th> </th>
<th colspan="7" align="right"> </th>
</tr>
<tr>
<th colspan="9" bgcolor="#FFFFFF"> </th>
</tr>
<tr>
<th> <div align="center" class="style14">UserID </div></th>
<th colspan="3"> <div align="center" class="style14">ชื่อ-นามสกุล</div></th>
<th><div align="center" class="style14">ตำแหน่งงาน</div></th>
<th colspan="2"><div align="center" class="style14">สถานะ</div></th>
<th><div align="center"><span class="style14">Username</span></div></th>
<th><span class="style15"></span></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
$i++;
if($i%2==0){
$bg = "#FFFFCC";
}
else{
$bg = "#FFFFFF";
}
?>
<tr bgcolor="<?=$bg;?>">
<td bgcolor="<?=$bg;?>"><div align="center" class="style16"><?=$objResult["UserID"];?></div></td>
<td colspan="3" bgcolor="<?=$bg;?>"><span class="style16">
<?=$objResult["fname"];?>
</span></td>
<td align="center" bgcolor="<?=$bg;?>"><?=$objResult["position"];?></td>
<td colspan="2" align="center" bgcolor="<?=$bg;?>"><span class="style16">
<?
if ($objResult["Status"]=='USER'){
echo 'User';}
else {
echo '<span class="style21">ADMIN</span></td>';}
?></td>
<td align="center" bgcolor="<?=$bg;?>"><span class="style16"><?=$objResult["Username"];?>
</span></td>
<td bgcolor="#FFFFFF"><span class="style16"><a href="Editmemberform.php?UserID=<?=$objResult["UserID"];?>"><img src="../image/edit_24.png" width="24" height="24" border="0" /></a> <a href="JavaScript:if(confirm('ต้องการที่จะลบ?')==true){window.location='delete_member.php?UserID=<?=$objResult["UserID"];?>';}"><img src="../image/del_24.png" width="24" height="24" border="0" /></a></span></td>
</tr>
<?
}
?>
</table>
<?
mysql_close();
?>
ประวัติการแก้ไข 2012-03-12 15:25:32
Date :
2012-03-12 15:17:08
By :
akkaneetha
2.หน้า แก้ไข
Code (PHP)
<form action="save_Editmemberform.php?UserID=<?=$_GET["UserID"];?>" method="post" name="form1" id="form1"> //ตรงบรรทัดนี้นะครับ ลองปรับแก้ดู ส่งค่าไปด้วยครับ
<?
include("../connect.php");
$strSQL = "SELECT * FROM members WHERE UserID = '".$_GET["UserID"]."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Not found UserID=".$_GET["UserID"];
}
else
{
?>
<table width="675" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#FF9900">
<tr>
<th colspan="3"><div align="center" class="style3"><img src="../image/w1.gif" width="19" height="19" /> แก้ไขรายละเอียดสมาชิก <img src="../image/w1.gif" width="19" height="19" /></div></th>
</tr>
<tr>
<th width="101"> <div align="center" class="style5">UserID </div></th>
<th width="144" align="left" bgcolor="#FFFFFF"><input name="UserID" type="text" value="<?=$objResult["UserID"];?>" size="5" readonly="true" /></th>
<th width="408" bgcolor="#FFFFFF"><div align="left" class="style9"> <span class="style8">***ไม่อนุญาตให้เปลี่ยน</span></div>
<span class="style10">
<tr>
<td><div align="center" class="style5">ชื่อ -นามสกุล</div></td>
<td colspan="2" bgcolor="#FFFFFF"><label>
<input name="fname" type="text" id="fname" value="<?=$objResult["fname"];?>" / style="width:200px">
</label> <span class="style10">
<label></label>
</span></td>
</tr>
<tr>
<td><div align="center" class="style5">ตำแหน่งงาน</div></td>
<td bgcolor="#FFFFFF"><label>
<select name="position" id="position" style="width:150px">
<option value="<?=$objResult["position"];?>" selected="selected"><?=$objResult["position"];?></option>
<option value="ช่างเทคนิค">ช่างเทคนิค</option>
<option value="วิศวกร">วิศวกร</option>
</select>
</label></td>
<td bgcolor="#FFFFFF"><label></label></td>
</tr>
<tr>
<td><div align="center" class="style5">Username</div></td>
<td bgcolor="#FFFFFF"><label>
<input name="Username" type="text" id="Username" value="<?=$objResult["Username"];?>" readonly="true" />
</label></td>
<td bgcolor="#FFFFFF"><div align="left" class="style9"><span class="style8">***ไม่อนุญาตให้เปลี่ยน</span></div></td>
</tr>
<tr>
<td><div align="center" class="style5">Password</div></td>
<td bgcolor="#FFFFFF"><label>
<input name="Pass" type="password" id="Pass" value="<?=$objResult["Password"];?>" />
</label></td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td><div align="center" class="style5">RePassword</div></td>
<td bgcolor="#FFFFFF"><label>
<input name="Repass" type="password" id="Repass" value="<?=$objResult["Password2"];?>" />
</label></td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td> </td>
<td bgcolor="#FFFFFF"> </td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td colspan="3" align="center"><input type="submit" name="submit" value="ตกลง" /> <input type='button' value='กลับ' onclick='history.back();'></td>
</tr>
</table>
<?
}
mysql_close();
?>
</form>
สังเกตว่า ในหน้านี้ ตรง action ของฟอร์มจะต้องส่งค่า ID ไปด้วยนะครับ (บรรทัดที่ 1) ถ้าไม่ส่งไปก็จะทำให้มันอัพเดตไม่ได้ครับ
ผมว่าของคุณน่าจะมีปัญหาตรงนี้แหละครับ ลองเช็คดูนะครับ
ประวัติการแก้ไข 2012-03-12 15:21:52 2012-03-12 15:26:12 2012-03-12 15:27:06
Date :
2012-03-12 15:20:43
By :
akkaneetha
3. หน้าอัพเดต
Code (PHP)
<?
include("../connect.php");
$strSQL = "UPDATE members SET ";
$strSQL .="UserID = '".$_POST["UserID"]."' ";
$strSQL .=",fname = '".$_POST["fname"]."' ";
$strSQL .=",position = '".$_POST["position"]."' ";
$strSQL .=",Username = '".$_POST["Username"]."' ";
$strSQL .=",Password = '".$_POST["Pass"]."' ";
$strSQL .=",Password2 = '".$_POST["Repass"]."' ";
$strSQL .="WHERE UserID = '".$_GET["UserID"]."' "; //รับค่าจากฟอร์ม edit นะครับ
$objQuery = mysql_query($strSQL);
if($objQuery)
{
print("<br></br>");
print("<br></br>");
print("<br></br>");
print("<center><font size=\"4\" face='MS Sans Serif'><b>แก้ไขข้อมูลสมาชิกเรียบร้อยแล้ว</b></font></center>");
print("<br></br>");
echo"<center><font size=\"2\"><a href=view_member.php>กลับหน้า รายชื่อสมาชิก</a></font></center>";
print("<br></br>");
echo"<center><font size=\"2\"><a href=../admin_page.php>กลับหน้าหลัก</a></font></center>";
}
else
{
echo "Error Save [".$strSQL."]";
}
mysql_close();
?>
ลองดูแล้วก็ปรับแก้นะครับ น่าจะได้แล้วนะครับ
อ้อ แล้วก็โค้ดที่ให้ ผมตัดบ้างส่วนออกนะครับ เพื่อให้บรรทัดมันน้อยลง (แต่ไม่มีผลต่อการประมวลผลของโค้ดครับ ส่วนจะจะเป็นพวก CSS ครับ ที่ใช้กำหนดลักษณะ อิอิ)
Date :
2012-03-12 15:23:44
By :
akkaneetha
อีกอัน อันนี้ลบข้อมูลครับ
Code (PHP)
<?
include("../connect.php");
$strSQL = "DELETE FROM members ";
$strSQL .="WHERE UserID = '".$_GET["UserID"]."' ";
$objQuery = mysql_query($strSQL);
if($objQuery)
{
print("<br></br>");
print("<br></br>");
print("<br></br>");
print("<center><font size=\"4\" face='MS Sans Serif'><b>ลบสมาชิกเรียบร้อยแล้ว</b></font></center>");
print("<br></br>");
echo"<center><font size=\"2\"><a href=view_member.php>กลับหน้า รายชื่อสมาชิก</a></font></center>";
print("<br></br>");
echo"<center><font size=\"2\"><a href=../admin_page.php>กลับหน้าหลัก</a></font></center>";
}
else
{
echo "Error Delete [".$strSQL."]";
}
mysql_close();
?>
Date :
2012-03-12 15:30:34
By :
akkaneetha
ขอบคุณ คุณ Geng ติดตรงกับส่งค่าตรง form นี้เอง งมอยู่ตั้งนาน
Date :
2012-03-12 15:40:16
By :
Spect2um
ไม่เป็นไรครับ บอร์ดนี่ ช่วยเหลือกันครับ
Date :
2012-03-12 15:48:07
By :
akkaneetha
Load balance : Server 04