ช่วยด้วยค่ะ เรื่อง ajax ลองทำตามตัวอย่างในเวปไทยครีเอทก็ยังไม่ได้อ่ะค่ะ ไม่รู้ว่าผิดตรงไหน ช่วยดูให้หน่อยนะคะ
ตัวอย่างจากลิ้งนี้อ่ะค่ะ https://www.thaicreate.com/tutorial/ajax-search-record.html
แต่จะทำแบบเลือกดรอปดาวน์ลิส แล้วส่งค่าไปหาจากเอสคิวแอล
นี่เป็นโค้ชหน้าหลักค่ะ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="JavaScript">
var HttPRequest = false;
function getProDetail(Psize) {
HttPRequest = false;
<? $Pname= $_GET["Pname"]; ?> // เรียกใช้ Pname จากลิ้ง ด้วยค่ะ
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'getdetail.php?Pname=$Pname'; // ส่งค่า Pname ไปใช้ด้วย
var pmeters = 'Psize='+Psize; // ส่งค่า Psize จากดรอปดาวน์ลิสไปด้วย
HttPRequest.open('GET',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
</script>
</head>
<body Onload="JavaScript:getProDetail('');">
<? include('onlineshop.inc.php');?>
<form>
<?
$PID = $_GET['PID'];
$sql = "SELECT * FROM product WHERE Product_Id = '$PID'";
$result = mysql_query($sql);
$p = mysql_fetch_array($result);
//$Pname=$p['Product_Name'];
$Ppic=$p['Product_Pict'];
$Pdesc=$p['Product_Des'];
echo "<img align=center src='$Ppic'> <br>";
echo "<span id='mySpan'></span>";
echo "<div align=center> <b> $Pname </b></div> <br>";
echo "<div align=center> $Pdesc </div> <br>";
echo "<div align='left'> <select name='Psize' id='Psize' "?> onchange="JavaScript:getProDetail(this.value)";<? echo ">";
$sql = "select * from size";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
print "<option value='x'> Please Select Size</option>";
while ($i < $num_rows)
{
$resultSize = mysql_fetch_array($dbquery);
$size_id = $resultSize[Size_Id];
$size_name = $resultSize[Size_Name];
print "<option value=$size_id> $size_name </option>";
$i++;
}
echo "</div>";
?>
</form>
</body>
</html>
นี่เป็นโค้ชหน้าที่ไปหาในเดต้าเบสค่ะ
Code (PHP)
<?php
$Pname=$_GET["Pname"];
$Psize=$_GET["Psize"];
include('onlineshop.inc.php');
$sql="SELECT * FROM product WHERE Product_Name = '".$Pname."' AND Size_Id = '".$Psize."'";
$result = mysql_query($sql);
echo "$Psize"; // แค่ลองเอา Psize ที่รับมาจากเอแจ็กออกมาโชว์ มันยังไม่โชเลยค่ะ
echo "<table border='1'>
<tr>
<th>Firstname</th> // อันนี้มันโชว์ตั้งแต่ยังไม่ได้เลือก size เลยค่ะ
<th>Lastname</th> // อันนี้มันโชว์ตั้งแต่ยังไม่ได้เลือก size เลยค่ะ
<th>Age</th>// อันนี้มันโชว์ตั้งแต่ยังไม่ได้เลือก size เลยค่ะ
<th>Hometown</th>// อันนี้มันโชว์ตั้งแต่ยังไม่ได้เลือก size เลยค่ะ
<th>Job</th>// อันนี้มันโชว์ตั้งแต่ยังไม่ได้เลือก size เลยค่ะ
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>"; // ไม่ขึ้นเลยค่ะ
echo "<td>" . $row['Product_Id'] . "</td>"; // ไม่ขึ้นเลยค่ะ
echo "<td>" . $row['Product_Name'] . "</td>"; // ไม่ขึ้นเลยค่ะ
echo "<td>" . $row['Size_Id'] . "</td>"; // ไม่ขึ้นเลยค่ะ
echo "<td>" . $row['Product_Prices'] . "</td>"; // ไม่ขึ้นเลยค่ะ
echo "<td>" . $row['Product_Quan'] . "</td>"; // ไม่ขึ้นเลยค่ะ
echo "</tr>";
}
echo "</table>";
?>
ลองแก้ไปแก้มา ก้อยังไม่ได้อ่ะค่ะ
ใครรู้ว่าผิดตรงไหนรบกวนด้วยนะคะ ไม่ไหวจิงจิงTag : PHP, MySQL, HTML/CSS, JavaScript, Ajax
Date :
2012-03-11 12:09:39
By :
gellarjung
View :
965
Reply :
5
Code (PHP)
$sql="SELECT * FROM product WHERE Product_Name = '".$Pname."' AND Size_Id = '".$Psize."'";
echo $sql;
ลองออกมาดูด้วยครับ
Date :
2012-03-11 18:59:04
By :
webmaster
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="JavaScript">
var HttPRequest = false;
function getProDetail(Psize) {
HttPRequest = false;
var Pname = '<? echo $_GET["Pname"]; ?>'; // เรียกใช้ Pname จากลิ้ง ด้วยค่ะ ##แก้ตรงนี้
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'getdetail.php?Pname=' + Pname; // ส่งค่า Pname ไปใช้ด้วย ##แก้ตรงนี้
var pmeters = 'Psize='+Psize; // ส่งค่า Psize จากดรอปดาวน์ลิสไปด้วย
HttPRequest.open('GET',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
</script>
</head>
<body Onload="JavaScript:getProDetail('');">
<? include('onlineshop.inc.php');?>
<form>
<?
$PID = $_GET['PID'];
$sql = "SELECT * FROM product WHERE Product_Id = '$PID'";
$result = mysql_query($sql);
$p = mysql_fetch_array($result);
//$Pname=$p['Product_Name'];
$Ppic=$p['Product_Pict'];
$Pdesc=$p['Product_Des'];
echo "<img align=center src='$Ppic'> <br>";
echo "<span id='mySpan'></span>";
echo "<div align=center> <b> $Pname </b></div> <br>";
echo "<div align=center> $Pdesc </div> <br>";
echo "<div align='left'> <select name='Psize' id='Psize' "?> onchange="JavaScript:getProDetail(this.value)";<? echo ">";
$sql = "select * from size";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
print "<option value='x'> Please Select Size</option>";
while ($i < $num_rows)
{
$resultSize = mysql_fetch_array($dbquery);
$size_id = $resultSize[Size_Id];
$size_name = $resultSize[Size_Name];
print "<option value=$size_id> $size_name </option>";
$i++;
}
echo "</div>";
?>
</form>
</body>
</html>
Date :
2012-03-11 19:37:23
By :
ex
Load balance : Server 00