แก้ไขข้อมูลสมาชิกได้คอลัมน์เดียว จะแก้ไขยังไงให้แก้ได้ทุกคอลัมน์
จากโค้ดนี้เป็นโค้ดการอัพเดทข้อมูลของสมาชิก แต่มันแก้ไขได้แค่คอลัมน์เดียว คือค่า 0
ไม่ทราบว่าจะต้องเขียนอย่างไรให้แก้ไขข้อมูลได้ทุกคอลัมน์ครับ
<body>
<input name="FirstName" type="text" maxlength="20" value="<?=mysql_result($dbquery,0,'FirstName')?>">
<input name="LastName" type="text" maxlength="20" value="<?=mysql_result($dbquery,0,'LastName')?>">
<input name="Telephone" type="text" maxlength="12" value="<?=mysql_result($dbquery,0,'Telephone')?>">
<input name="Email" type="text" size="30" maxlength="30" value="<?=mysql_result($dbquery,0,'Email')?>">
<textarea name="Address" cols="25" rows="2"><?=mysql_result($dbquery,0,'Address')?></textarea>
</body>
ไม่ทราบว่าจะต้องเขียนอย่างไรให้แก้ไขข้อมูลได้ทุกคอลัมน์ครับ
<body>
<input name="FirstName" type="text" maxlength="20" value="<?=mysql_result($dbquery,0,'FirstName')?>">
<input name="LastName" type="text" maxlength="20" value="<?=mysql_result($dbquery,0,'LastName')?>">
<input name="Telephone" type="text" maxlength="12" value="<?=mysql_result($dbquery,0,'Telephone')?>">
<input name="Email" type="text" size="30" maxlength="30" value="<?=mysql_result($dbquery,0,'Email')?>">
<textarea name="Address" cols="25" rows="2"><?=mysql_result($dbquery,0,'Address')?></textarea>
</body>
ไม่ค่อยเข้าใจคำถาม เนื่องจากคำสั่ง ก็น่าจะถูกต้องอยู่
mysql_result ( result, row, column );
แต่พอเวลาสมัครสมาชิกคนที่สอง เวลาจะแก้ไขข้อมูลส่วนตัว แต่ในโปรไฟล์ของคนที่สอง
มันจะขึ้นเป็นข้อมูลของคนแรกครับ นั่นก็คือค่า 0
<?=mysql_result($dbquery,0,'FirstName')?>
จากโค้ดที่ให้ไปผมยังหาวิฑีแก้ไขยังไม่ได้ครับ ขอความกรุณา Admin หรือผู้รู้คนอื่นๆช่วยตอบทีนะครับ
555+++ ข้อมูลแค่นี้คงไม่ช่วยอะไร เนื่องจากคำสั่งมันถูกต้องดีอยู่แล้ว
ที่น่าจะเป็นคือ เวลา query ได้ข้อมูล ออกมามากกว่า 1 รายการครับ
ให้ใส่ LIMIT 1 ที่ query ครับ
<?php
session_start();
$host='127.0.0.1';
$user='root';
$passwd='1234';
$dbname='Custom-Guitar';
mysql_connect($host,$user,$passwd) or die ("ติดต่อ host ไม่ได้");
mysql_select_db($dbname) or die ("ติดต่อฐานข้อมูลไม่ได้");
$sql="UPDATE Member SET FirstName='".$_POST['FirstName']."', LastName='".$_POST['LastName']."',Telephone='".$_POST
['Telephone']."',Email='".$_POST['Email']."',Address='".$_POST['Address']."' WHERE UserName='$SS_UserName' AND `Password`='$SS_Password'";
$dbquery=mysql_db_query($dbname,$sql);
if($dbquery)
{
echo 'Success';
} else { echo "dont't editprofile"; }
?>
<body>
<input name="FirstName" type="text" maxlength="20" value="<?=mysql_result($dbquery,0,'FirstName')?>">
<input name="LastName" type="text" maxlength="20" value="<?=mysql_result($dbquery,0,'LastName')?>">
<input name="Telephone" type="text" maxlength="12" value="<?=mysql_result($dbquery,0,'Telephone')?>">
<input name="Email" type="text" size="30" maxlength="30" value="<?=mysql_result($dbquery,0,'Email')?>">
<textarea name="Address" cols="25" rows="2"><?=mysql_result($dbquery,0,'Address')?></textarea>
</body>
หมายเหตุ : เปลี่ยนจากค่า 0 เป็น ค่า 1 แบบนี้
<?=mysql_result($dbquery,0,'Telephone')?> เป็น <?=mysql_result($dbquery,1,'Telephone')?>
เวลาเราสมัครสมาชิกคนแรกแล้วเราจะแก้ไขข้อมูลส่วนตัว มันแก้ได้ครับ
แต่พอเวลาสมัครสมาชิกคนที่สอง เวลาจะแก้ไขข้อมูลส่วนตัว แต่ในโปรไฟล์ของคนที่สอง
มันจะขึ้นเป็นข้อมูลของคนแรกครับ นั่นก็คือค่า 0
พอเปลี่ยนเป็นค่า 1 ค่าที่เป็น 0 ข้อมูลก็กลับมาเป็นข้อมูลของคนที่ 1
ขอความกรุณาด้วยนะครับตอนนี้ปวดหัวมากครับหาสาเหตุไม่เจอครับ
สาเหตู เธอก็รู้อยู่แล้วว่า query กี่ทีก็ได้คนแรกมาลงฟอร์มแก้ไข ดังนั้นที่ผิดก็ต้องไปดูที่ query ที่เธอไม่เคยพูดถึง
การ query คือ ต้อง query ให้ได้แค่ record เดียว ทดสอบโดยการ echo query ออกมาแล้วเอาไปทดสอบบน phpmyadmin
การ query ให้ได้ record เดียว ทำได้โดยการใส่ LIMIT 1 ต่อท้ายคำสั่งครับ
<?
session_start();
$host='127.0.0.1';
$user='root';
$passwd='1234';
$dbname='test';
mysql_connect($host,$user,$passwd) or die ("ติดต่อ host ไม่ได้");
mysql_select_db($dbname) or die ("ติดต่อฐานข้อมูลไม่ได้");
$sql="SELECT * FROM Member WHERE UserName='$SS_UserName' AND `Password`='$SS_Password'";
$dbquery=mysql_db_query($dbname,$sql);
?>
<form action="Update.php" method="post">
<input name="FirstName" type="text" maxlength="30" value="<?=mysql_result($dbquery,0,'FirstName')?>"><br />
<input name="LastName" type="text" maxlength="30" value="<?=mysql_result($dbquery,0,'LastName')?>"><br />
<input name="Telephone" type="text" maxlength="12" value="<?=mysql_result($dbquery,0,'Telephone')?>"><br />
<input name="Email" type="text" maxlength="30" value="<?=mysql_result($dbquery,0,'Email')?>"><br />
<textarea name="Address" cols="29" rows="2" id="Address"><?=mysql_result($dbquery,0,'Address')?>
</textarea><br />
<input name="Confirm" type="submit" value="Confirm" id="Confirm">
</form>
<a href="Main.php">sign out</a>
</body>
</html>