GORAGOD.com

freelance, web developer, web designer, hosting, domain name

แก้ไขข้อมูลสมาชิกได้คอลัมน์เดียว จะแก้ไขยังไงให้แก้ได้ทุกคอลัมน์

จากโค้ดนี้เป็นโค้ดการอัพเดทข้อมูลของสมาชิก แต่มันแก้ไขได้แค่คอลัมน์เดียว คือค่า 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>
19 ส.ค. 2554 8 2,356


ไม่ค่อยเข้าใจคำถาม เนื่องจากคำสั่ง ก็น่าจะถูกต้องอยู่



mysql_result ( result, row, column );





 


#1

จากโค้ดข้างบนนะครับ เวลาเราสมัครสมาชิกคนแรกแล้วเราจะแก้ไขข้อมูลส่วนตัว มันแก้ได้ครับ

แต่พอเวลาสมัครสมาชิกคนที่สอง เวลาจะแก้ไขข้อมูลส่วนตัว แต่ในโปรไฟล์ของคนที่สอง

มันจะขึ้นเป็นข้อมูลของคนแรกครับ นั่นก็คือค่า 0



<?=mysql_result($dbquery,0,'FirstName')?>



จากโค้ดที่ให้ไปผมยังหาวิฑีแก้ไขยังไม่ได้ครับ ขอความกรุณา Admin หรือผู้รู้คนอื่นๆช่วยตอบทีนะครับ
#2

อ้างอิงจาก ความคิดเห็น #2จากโค้ดข้างบนนะครับ เวลาเราสมัครสมาชิกคนแรกแล้วเราจะแก้ไขข้อมูลส่วนตัว มันแก้ได้ครับ

แต่พอเวลาสมัครสมาชิกคนที่สอง เวลาจะแก้ไขข้อมูลส่วนตัว แต่ในโปรไฟล์ของคนที่สอง

มันจะขึ้นเป็นข้อมูลของคนแรกครับ นั่นก็คือค่า 0



<?=mysql_result($dbquery,0,'FirstName')?>



จากโค้ดที่ให้ไปผมยังหาวิฑีแก้ไขยังไม่ได้ครับ ขอความกรุณา Admin หรือผู้รู้คนอื่นๆช่วยตอบทีนะครับ


555+++ ข้อมูลแค่นี้คงไม่ช่วยอะไร เนื่องจากคำสั่งมันถูกต้องดีอยู่แล้ว

ที่น่าจะเป็นคือ เวลา query ได้ข้อมูล ออกมามากกว่า 1 รายการครับ

ให้ใส่ LIMIT 1 ที่ query ครับ



#3

ส่วนนี้ใช้ในการ update ข้อมูลสมาชิกครับ



<?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";  }

?>
#4

ส่วนอันนี้ก็คือ สาเหตุที่ทำงานไม่ปกติครับ ขอความกรุณาอีกทีนะครับ



<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





ขอความกรุณาด้วยนะครับตอนนี้ปวดหัวมากครับหาสาเหตุไม่เจอครับ
#5

เหมือน เดิม .... ไม่ใช่โค้ดที่เกี่ยวข้อง



สาเหตู เธอก็รู้อยู่แล้วว่า query กี่ทีก็ได้คนแรกมาลงฟอร์มแก้ไข ดังนั้นที่ผิดก็ต้องไปดูที่ query ที่เธอไม่เคยพูดถึง



การ query คือ ต้อง query ให้ได้แค่ record เดียว ทดสอบโดยการ echo query ออกมาแล้วเอาไปทดสอบบน phpmyadmin



การ query ให้ได้ record เดียว ทำได้โดยการใส่ LIMIT 1 ต่อท้ายคำสั่งครับ
#6

ขอบคุณมากนะครับ ตอนนี้ผมแก้ไขสาเหตุได้แล้ว ผมไปเพิ่ม WHERE เข้าไปเป็นแบบนี้แล้วก็ทำงานได้ตามปกติครับ



<?

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>

#7

$sql="SELECT * FROM Member WHERE UserName='$SS_UserName' AND `Password`='$SS_Password' LIMIT 1";

#8
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^