我试图在GET/POST
和json
的帮助下,使用Jquery
方法从mysql数据库获取html页面中的数据。方案是我从用户界面(searchtenant.html
)获取两个值并将其POST到newterms2.html
,其中newterms2.html
使用tenantlistmob2.php
从JSON
获取数据。
我的searchtenant.html
是
<!DOCTYPE HTML>
<html>
<body>
<form action="newterms2.html" method="post">
First Name:<input type="text" id="fname" name="fname" placeholder="First Name" required="required"/><br /><br />
Last Name: <input type="text" id="lname" name="lname" placeholder="Last Name" required="required"/><br /><br />
<input type="submit" id="save" name="search" value="Search"/>
</form>
</fieldset>
</body>
</html>
我的tenantlistmob2.php
是
<?php
include('connection.php');
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$result = mysql_query("SELECT * FROM `tenanttemp` WHERE `TenantFirstName`='$fname' and `TenantLastName`='$lname'");
//$result = mysql_query("SELECT * FROM `tenanttemp`");
while ($row = mysql_fetch_assoc($result))
{
$array[] = array($row['TenantFirstName']);
}
echo json_encode($array);
?>
我的newterms2.html
就像
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="myjquery.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
jQuery.getJSON("tenantlistmob2.php", function (jsonData) {
jsonData= eval(jsonData);//get json array
for (i = 0; i < jsonData.length; i++)//iterate over all options
{
for ( key in jsonData[i] )//get key => value
{
var tblRow = "<tr>" + "<td>" + "<a href='#'>" + jsonData[i][key] + "</a>" + "</td>" + "</tr>"
$(tblRow).appendTo("#getname tbody");
}
}
});
});
</script></head>
<body>
<form name="index">
<div id="getname2"></div>
<div>
<table id="getname" border="1">
<thead>
<th>Name</th>
</thead>
<tbody>
</tbody>
</table>
</div>
</form>
</body>
</html>
这是总体情景。如果我使用tenantlistmob2.php
方法直接从searchtenant.html
致电POST
,它工作正常。但我需要html页面来显示数据,因为我将使用此html android
和iPhone
的页面。查询($result = mysql_query("SELECT * FROM tenanttemp");
)工作正常并正确返回newterms2.html
。但是当我使用POST
ed数据($result = mysql_query("SELECT * FROM tenanttemp WHERE TenantFirstName='$fname' and TenantLastName='$lname'");
)时,它在PHP中正常工作但不会将数据返回到{ {1}}页面。
解决方案是什么?我喜欢在html页面中获取数据。请帮助。
提前致谢。
答案 0 :(得分:0)
您要将searchdant.html中的formdata发布到newterms2.html,而不是发布到tenantlistmob2.php。
您需要做的是将newterms2.html更改为可以使用来自searchtenant.html的POST数据并将其用于ajaxrequest的PHP页面。
newterms2.php中的Javascriptchanges
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: 'tenantlistmob2.php',
dataType: 'json',
data: <?php echo 'fname='.$_POST['fname'].'&lname='.$_POST['lname']; ?>,
type: 'POST',
success: function(jsonData){
jsonData = eval(jsonData); //get json array
for (i = 0; i < jsonData.length; i++)//iterate over all options
{
for ( key in jsonData[i] )//get key => value
{
var tblRow = "<tr>" + "<td>" + "<a href='#'>" + jsonData[i][key] + "</a>" + "</td>" + "</tr>"
$(tblRow).appendTo("#getname tbody");
}
}
}
});
}
</script>
这应该可以解决问题。