จะสามารถ (insert) สมัครสมาชิกโดยเลือกคำนำหน้าชื่อที่ดึงมาจากตารางในฐานข้อมูลได้อย่างไร
อยากจะถามพี่ ๆ หน่อยค่ะ ว่าจะสามารถทำการสมัครสมาชิกโดยเมื่อเราเลือกคำนำหน้าชื่อที่ดึงมาจากตารางในฐานข้อมูลได้อย่างไรค่ะ
ขอความกรุณาจากพี่ๆด้วยน่ะค่ะ งงมาหลายวันแล้ว
ส่วนนี้เป็นโค้ดรับค่า
Code (PHP)
<form action="index.php?page=registerController" method=POST name="register">
<table>
<div id="columns-regis1">
<h2>username : </h2>
<h2>password :</h2>
<h2>repassword :</h2>
<h2>คำนำหน้าชื่อ :</h2>
<h2>ชื่อ :</h2>
<h2>นามสกุล :</h2>
</div>
<div id="columns-regis2">
<h1><input type="text" name="username"></h1>
<h1><input type="text" name="password"></h1>
<h1><input type="text" name="repassword"></h1>
<h1>
<select name="prefix_id">
<?php
$sql = "select * from prefix";
$resultsql = mysql_query($sql);
while ($showPrefix = mysql_fetch_array($resultsql)){
echo "<option value=$showPrefix[prefix_name]>$showPrefix[prefix_name]</option>";
}
?>
</select>
</h1>
<h1><input type="text" name="fname"></h1>
<h1><input type="text" name="lname"></h1>
</div>
</div>
<input type=submit name=submit value=submit>
<input type=reset name=reset value=reset>
</form>
อันนี้เป็นโต่ดเชื่อมกับตารางฐานข้อมูล
Code (PHP)
<?php
include 'controller/connect.php';
$username = $_POST['username'];
$password = $_POST['password'];
$repassword = $_POST['repassword'];
----------------------------------------------------------------------------
$prefix = $_POST['prefix_id'];
เท่าที่ดูน่าจะเป็นส่วนนี้ที่ผิดผลาดอ่ะค่ะ เพระาเป็นการดึงข้อมูลมาจากตารางในฐานข้อมูล ความจะใช้ตัวแปรรับส่งข้อมูลแบบ GET หรือเปล่า แล้วถ้าเป็นแบบนั้นจะต้องเขียนโค้ดอย่างไร
----------------------------------------------------------------------------
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$registerMember = "INSERT INTO person (person_id, person_user, person_pass, person_repass, prefix_id, preson_fname, person_lname)
VALUE ('$username','$password','$repassword','$prefix','$fname','$lname')";
if(mysql_query($registerMember)){
echo " <meta http-equiv=Refresh content=0;url=index.php>";
}else{
mysql_error();
}
?>
Tag : PHP
Date :
2013-06-11 14:06:50
By :
mussy_susy
View :
1797
Reply :
6
มีปัญหาอะไรหรือครับ โค๊ดมันผิดพลาดหรอครับ เท่าที่ดูไม่น่าจะผิดอะไร
ฟิล prefix_id เก็บเป็นตัวเลขหรือครับ แล้วค่อยเอาไปเทียบค่าใรตาราง prefix อีกที หรือว่ายังไง อ่านแล้วไม่ค่อยเข้าใจว่าอยากได้แบบไหน ขออธิบายอีกทีครับ
Date :
2013-06-11 14:30:36
By :
randOmizE
นั้นสิครับ ปัญหาคืออะไรครับ ไม่สามารถส่งค่า prefix_id ได้เหรอครับ หรือไม่สามารถบันทึกลงฐานข้อมูลได้
แก้ๆๆๆๆๆๆ
ผิดตรงคำสั่ง INSERT ครับ
ของคุณ
Code (PHP)
$registerMember = "INSERT INTO person (person_id, person_user, person_pass, person_repass, prefix_id, preson_fname, person_lname)
VALUE ('$username','$password','$repassword','$prefix','$fname','$lname')";
ตรงชื่อฟิลด์รับข้อมูลเป็น >>>>>>>> ค่าที่ใส่
person_id >>>>>>>>>>>>>>>>>>$username' ซึ่งถ้าเข้าใจไม่ผิดฟิลด์นี้เก็บเป็น Auto Number ใช่มั้ยครับ
person_user,>>>>>>>>>>>>>>>>>>'$password'
person_pass>>>>>>>>>>>>>>>>>>,$repassword'
person_repass,>>>>>>>>>>>>>>>>>>'$prefix'
prefix_id, >>>>>>>>>>>>>>>>>>$fname'
preson_fname,>>>>>>>>>>>>>>>>>>'$lname'
person_lname>>>>>>>>>>>>>>>>>>???????
เพราะอย่างนั้นตรงค่า VALUE ให้ใส่เป็น
Code (PHP)
VALUE ('', '$username','$password','$repassword','$prefix','$fname','$lname')";
ลองแก้ไขดูนะครับ
ประวัติการแก้ไข 2013-06-11 14:40:15 2013-06-11 14:43:06 2013-06-11 14:45:05
Date :
2013-06-11 14:36:36
By :
akkaneetha
ใช้ ajax suggestion ในการดึงข้อมูล
Date :
2013-06-11 14:42:09
By :
dds
คือว่าเวลาที่กด submit มันจะบันทึกข้อมูลแค่ username, password, repassword, fname, และ lname ส่วนคำนำหน้าชื่อ(prefix) ที่ดึงมาจากตารางในฐานข้อมูลนั้นมันไม่บันทึกลงไปในตาราง person ค่ะ
ส่วยฟิล prefix_id ก็เก็บเป็นตัวเลข แล้วค่อยเอาไปเทียบค่าใรตาราง prefix อย่างที่พี่เข้าใจค่ะ
Date :
2013-06-11 14:43:48
By :
mussy_susy
น่าจะเป็นตรงนี้นะครับ
Code (PHP)
<select name="prefix_id">
<?php
$sql = "select * from prefix";
$resultsql = mysql_query($sql);
while ($showPrefix = mysql_fetch_array($resultsql)){
echo "<option value=$showPrefix[prefix_name]>$showPrefix[prefix_name]</option>";
}
?>
</select>
ค่าใน <option> น่าจะไม่ใช่ตัวเลข ฟิล prefix_id เป็นตัวเลข มันเลยบันทึกไม่เข้า
เช่น
Code (PHP)
<option value="mr">นาย</option>
<option value="miss">นางสาว</option>
Code (PHP)
$prefix = $_POST['prefix_id']; // $prefix = 'mr' หรือ 'miss' แต่ฟิล prifix_id เก็บเป็นตัวเลขคือ 1,2,3 ชนิดข้อมูลไม่เหมือนกันมันเลยไม่บันทึกให้
ประวัติการแก้ไข 2013-06-11 15:17:44
Date :
2013-06-11 15:11:40
By :
randOmizE
Load balance : Server 00