|
 |
|
รบกวนดูโค้ดให้หน่อยค่ะ พอดีจะเขียน Ajax นะคะ ใครพอจะมีตัวอย่างการเขียน Ajax ที่ใช้เช็คค่า SQL ใน PHP บ้างค่ะ |
|
 |
|
|
 |
 |
|
ประมาณนี้ค่ะ ลองดู
Code
<html>
<head>
<title>ThaiCreate.Com Ajax Tutorial</title>
</head>
<body>
<h1>Auto Fill Form</h1>
<form name="frmMain">
<table width="360" border="1">
<tr>
<th width="115" align="right">ProductID : </th>
<th width="229">
<input type="text" name="txtProductID1" id="txtProductID1" onBlur="chk_product(this.value)">
<tr>
<th align="right"> </th>
<th><div id="chklabel"> </div></th>
</tr>
<tr>
<th align="right">ProductName : </th>
<th>
<input type="text" name="txtProductName1" id="txtProductName1"></th>
</tr>
</table>
</form>
</body>
</html>
<script>
function chk_product(id){
var req = null;
if(window.XMLHttpRequest){ // Object of the current windows
req = new XMLHttpRequest(); // Firefox
}else if (window.ActiveXObject){ // ActiveX version
req = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer
}
req.onreadystatechange = function(){
if(req.readyState == 4)
{
if(req.status == 200)
{
if(req.responseText=="0"){
document.getElementById("chklabel").innerHTML="รหัสสินค้านี้ยังไม่มี"
}else{
document.getElementById("chklabel").innerHTML="รหัสนี้มีชื่อสินค้าแล้ว"
document.getElementById("txtProductName1").value=req.responseText
}
}
else
{
alert("Error: returned status code " + req.status + " " + req.statusText);
}
}
};
req.open("GET","check.php?ProductID="+id, true); //สร้าง connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=tis-620"); // set Header
req.send(null); // ส่งค่า
}
</script>
check.php
<?php
$strProduct = trim($_POST["ProductID"]);
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("Product");
$strSQL = "SELECT* FROM Product WHERE ProductID = '".$strProduct."' ";
$objQuery = mysql_query($strSQL) or die(mysql_error());
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo $objResult['old_code'];
}else{
echo "0";
}
mysql_close($objConnect);
?>
|
 |
 |
 |
 |
Date :
2010-01-28 17:03:40 |
By :
ultrasiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้ลองทำการ RUN ดูแล้วนะคะ พบว่าค่าที่เอามาโชว์ในช่อง txtProductName1 ผิดนะคะ รบกวนดูให้อีกทีนะคะ ขอบคุณค่ะ
|
 |
 |
 |
 |
Date :
2010-01-29 09:57:25 |
By :
ส้ม |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วมันผิดยังไงล่ะค่ะ
ในหน้า check.php มัน echo อะไร
ก็ responseText ได้อย่างนั้น คุณลองเช็คค่าของคุณดูนะคะว่ามันออกมาถูกต้องไหม
|
 |
 |
 |
 |
Date :
2010-01-29 10:10:09 |
By :
ultrasiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คืว่าผลที่รันมาได้นะคะ ไม่ตรงกับในฐานข้อมูล เช่น รหัส 111 ชื่อ aaaa แต่ผลจากการรันที่ได้คือ 111 ชื่อ bbbb นะคะ จากการตรวจสอบพบว่าคำสั่งที่หน้า sql ที่หน้า check.php ถูกแล้วนะคะ
<?php
$strProduct = $_POST["ProductID"];
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM product WHERE ProductID = '".$strProduct."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo $objResult["ProductName"];
}else{
echo "0";
}
mysql_close($objConnect);
?>
|
 |
 |
 |
 |
Date :
2010-01-29 10:43:23 |
By :
ส้ม |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแบบนี้ดูค่ะ รันไฟล์ check.php?ProductID=111 แล้วดูว่ามัน echo aaa หรือ bbb ออกมาค่ะ
|
 |
 |
 |
 |
Date :
2010-01-29 10:57:01 |
By :
ultrasiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เปิดหน้าทิ้งไว้นานเกินอีกแระ
|
 |
 |
 |
 |
Date :
2010-01-29 19:58:18 |
By :
lozomac |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้แล้วค่ะ ตอนนี้ค่าไม่มาโชว์ที่ textbox ตัวที่ 2 เลยนะคะ
โค้ดหน้า check.php ค่ะ
<?php
$strProduct = $_GET["ProductID"];
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$sql = "SELECT * FROM Product WHERE ProductID = '".$strProduct."' ";
$result = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($result);
if($num==0)
{
echo "0";
} else{
echo "มีชื่อมากว่า 1 ชื่อค่ะ";
mysql_close($objConnect);
?>
รบกวนทุกท่านช่วยดูให้ทีค่ะว่าเกิดอะไรขึ้นค่าถึงไม่ส่งเข้ามาที่ textbox ตัวที่ 2 นะคะ และรบกวนดู โค้ด Ajax ให้ด้วยนะคะ ว่าถ้าต้องการเพิ่มเงือนไขที่จะโชว์ใน Row ที่ 2 นะคะ ว่าเช็คแล้วมีชื่อมากว่า 1 ชื่อให้มีข้อความขึ้นมาว่า"มีชื่อมากว่า 1 ชื่อค่ะ"
ปล.พอดีเพิ่งลองเขียนนะคะ อาจจะถามมากหน่อยนะคะ รบกวนด้วยนะคะ
|
 |
 |
 |
 |
Date :
2010-01-30 14:50:51 |
By :
ส้ม |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
} else{
echo "มีชื่อมากว่า 1 ชื่อค่ะ";
mysql_close($objConnect);
?>
^
^
ไม่มี } ปิด มั้ง
|
 |
 |
 |
 |
Date :
2010-01-30 16:01:04 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มีค่ะ แต่สงสัยจะลืมตอน Copy นะคะคือ คือว่าค่าที่มีอยู่ในฐานข้อมูลมันไม่โชว์นะคะก็เลยแบบว่างงหน่อยนึงนะคะ ว่าคำสั่ง ajax มีอะไรผิดหรือเปล่าค่ะ หรือว่าคำสั่งหน้าเช็คผิดนะคะรบกวนทีนะคะ
|
 |
 |
 |
 |
Date :
2010-01-30 16:54:46 |
By :
ส้ม |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดูที่ หน้า check.php ค่ะ echo ดูค่าที่ส่งไป ดู sql ว่าถูกต้องไหม
นำ sql ที่ echo ออกมาไปลองรันใน ฐานข้อมูลว่าออกไหม
|
 |
 |
 |
 |
Date :
2010-01-30 20:56:47 |
By :
ultrasiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รบกวนขอถามอีกสักนิดนะคะ กรณีต้องการเพิ่มข้อความที่จะให้โชว์เข้าไปนะคะ ต่อจากโค้ดนี้นะคะ คือว่าถ้าตอนกรอกรหัสเข้าไปแล้วมีชื่อสินค้ามากว่า 1ชื่อนะคะ ก็จะให้โชว์ว่า "รหัสสินค้านี้มีชื่อมากกว่า 1 ชื่อ" ต้องเขียนเงื่อนไขเช็คเขาไปใช่ไหมค่ะ
if(req.responseText=="0"){
document.getElementById("chklabel").innerHTML="รหัสสินค้านี้ยังไม่มี"
}else{
document.getElementById("chklabel").innerHTML="รหัสนี้มีชื่อสินค้าแล้ว"
document.getElementById("txtProductName1").value=req.responseText
}
ขอบคุณคะ
|
 |
 |
 |
 |
Date :
2010-01-31 15:35:47 |
By :
ส้ม |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|

|
Load balance : Server 03
|