PDA

View Full Version : php و ajax



tizdast
جمعه 09 فروردین 1387, 00:30 صبح
سلام . من میخوام که از یه جدول بر اساس 2 تا از فیلدهام report بگیرم البته با کمک ajax.روشش رو بر اساس 1 فیلد تو آدرس زیر دقیق و درست آموزش داده.اما نمیدونم جستجو بر اساس 2 یا چند مقدار چظور هست؟کسی راه حلی داره؟

http://www.w3schools.com/php/php_ajax_database.asp

Mah
شنبه 10 فروردین 1387, 08:22 صبح
سلام .
برای ارسال دو یا چند مقدار کافیست : مقادیر مورد نظر را توسط اشیاء ورودی (input) بگیری و سپس آرگومانهای مورد نظر را به صفحه جستجو پاس بدی تا خروجی مورد نظرت ساخته بشه .

-------------
** جستجو قبل از پرسش یادت نره **
%%% عنوان تاپیک را هم جزئی تر و بهتر انتخاب کن ::: مثلاً گزارش گیری به وسیله چند پارامتر در AJAX %%%
>> بهتر است کد سوالت را در تاپیک قرار بدی . <<
-------------
این مثال پس از جستجو سه رکورد اول یافت شده را نشان می دهد . کاربر می تواند برای دیدن رکورد های بیشتر تعداد مورد نظر را به عنوان ورودی وارد نماید .
در این صفحه من یک مقدار حداکثر رکورد را به صورت ورودی از کاربر گرفته ام :



<html>
<head>
<script src="selectuser.js"></script>
</head>
<body> <form>
Max Row :
<input type=text value=3 id=txtMax name=txtMax >
<br>
Select a User:
<select name="users" onchange="showUser(this.value,txtMax.value)">
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form> <p>
<div id="txtHint"><b>User info will be listed here.</b></div>
</p> </body>
</html>
کد زیر به این صورت تغییر می کند :


var xmlHttp
function showUser(str,MaxRow)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getuser.php"
url=url+"?q="+str+"&MaxR="+MaxRow
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
} function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
} function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
کد PHP برای جستجو نیز این تغییرات را دارد :


<?php
$q=$_GET["q"];
$MaxRow=$_GET["MaxR"];
$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '".$q."' LIMIT 0 , ".MaxRow;

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "<td>" . $row['Age'] . "</td>";
echo "<td>" . $row['Hometown'] . "</td>";
echo "<td>" . $row['Job'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysql_close($con);
?>

من لینک اصلی را یکبار دیگر قرار می دهم .
http://www.w3schools.com/php/php_ajax_database.asp
موفق باشید .