การนำค่าจากตัวแปรที่กำหนดไว้ไปเปรียบเทียบกับข้อมูลในฐานข้อมูล sql
คือขั้นตอนการทำงานเป็น step ตามนี้นะค๊ะ
1. user กรอกข้อมูลลงในฟอร์ม
2. user กดปุ่ม OK
3. ระบบทำการกำหนดตัวแปร ดังนี้
// Get values from form
$name=$_POST['name'];
$color=$_POST['color'];
4. ระบบทำการ INSERT ข้อมูลลงในตาราง
5. ถ้า INSERT ข้อมูลลงในตารางสำเร็จ
5.1 ให้ echo ข้อความให้ user ว่า Successful Back to main page
5.2 ให้นำตัวแปรที่ระบบกำหนดขึ้นคือ
// Get values from form
$name=$_POST['name'];
$color=$_POST['color'];
ไปเปรียบเทียบกับข้อมูลใน Table : test2 โดย
$name เปรียบเทียบกับ column name
$color เปรียบเทียบกับ column color
ทุก row แบบ order by id
5.2.1 ถ้าเงื่อนไขใน row ไหนเป็นจริงให้ทำการส่งอีเมลล์ไปหา user ตาม column : email ใน row นั้นๆ
5.2.2 ถ้าเงื่อนไขไม่จริงให้เปรียบเทียบกับ row ต่อไปจนครบทุก row ( โดยไม่ทำการ echo อะไรออกมาทั้งสิ้น )
6. ถ้า INSERT ข้อมูลลงในตารางไม่สำเร็จ
6.1 ให้ echo ว่า ERROR
ปัญหาของหนูคือ
ในขั้นตอนที่ 5.2, 5.2.1, 5.2.2 หนูไม่รู้ว่าจะเขียนโค๊ดอย่างไร และเอาวางไว้ไหน ( หนูมีโค๊ดส่งเมลล์แล้วค๊ะ ) อยู่ด้านล่าง
ส่วนขั้นตอนอื่นหนูทำได้หมดแล้วค๊ะ
ช่วยหนูด้วยนะค๊ะ
อันนี้เป็นโค๊ดฟอร์มค๊ะ
Code (PHP)
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form1" method="post" action="insert_ac.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="71">Name</td>
<td width="6">:</td>
<td width="301"><input name="name" type="text" id="name"></td>
</tr>
<tr>
<td>color</td>
<td>:</td>
<td><input name="color" type="text" id="color"></td>
</tr>
<tr>
<td colspan="3" align="center"><input type="submit" name="Submit" value="OK"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
อันนี้เป็นโค๊ดสำหรับส่งเมลล์ค๊ะ ( ตรง $to = $email; จะกำหนดอย่างไรให้ระบบทราบว่า $email คือค่าใน column ของ email ในแต่ละ row ของ Table : test2 ค๊ะ ? )
Code (PHP)
$to = $email;
$subject = "ผลเปรียบเทียบข้อมูล";
$message = "เปรียบเทียบข้อมูลตรงกันค๊ะ ขอบคุณค๊ะ";
$headers = 'From: noreply@'.$domain.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
อันนีเป็นโค๊ด insert_ac.php ค๊ะ
Code (PHP)
<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="test1"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$name=$_POST['name'];
$color=$_POST['color'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(name, color)VALUES('$name', '$color')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='insert.php'>Back to main page</a>";
<<<<<<<<<< แทรกโค๊ด เปรียบเทียบ กับ Table : test2 >>>>>>>>>>
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
โดยหลังจาก รันสคิปร์แล้ว ผลที่ได้โปรแกรมจะต้องส่งเมลล์ไปหา [email protected] กับ [email protected] ที่ต้องส่งหา [email protected] เพราะเลือก color เป็น AllTag : PHP, MySQL
ประวัติการแก้ไข 2012-10-17 15:31:07
Date :
2012-10-17 15:28:16
By :
dferru
View :
6298
Reply :
2
Code (PHP)
$sql = "select * from test2 where name = '$name' and color = '$color' ";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
if($rowS != "0"){
while($res = mysql_fetch_array($query)){
echo $res["name"]." ".$res["color"];//ใส่ code ส่งเมลล์ตาม email
}
}
else{
//ให้ทำอะไรในกรณีที่เปรียบเทียบไม่เจอ
}
Date :
2012-10-17 15:45:25
By :
popypreaw
อันนี้ต้องใช้คำสั่งวนลูปหรือเปล่าครับ
Date :
2012-10-18 11:40:23
By :
peap
Load balance : Server 05