1

我正在尝试在 和 的帮助下使用方法从 mysql 数据库中获取 html 页面中的GET/POST数据。场景是我从用户界面 ( ) 中获取两个值并将其发布到从使用中获取数据的位置。我的是jsonJquerysearchtenant.htmlnewterms2.htmlnewterms2.htmltenantlistmob2.phpJSONsearchtenant.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.htmlusingPOST方法调用它工作正常。但我需要 html 页面来显示数据,因为我将使用这个 html 页面androidiPhone. 查询($result = mysql_query("SELECT * FROM tenanttemp");)工作正常并正确返回newterms2.html。但是当我使用POSTed data($result = mysql_query("SELECT * FROM tenanttemp WHERE TenantFirstName='$fname' and TenantLastName='$lname'");)时,它在 php 中正常工作,但没有将数据返回到newterms2.html页面。

解决办法是什么?我喜欢在 html 页面中获取数据。请帮忙。

提前致谢。

4

1 回答 1

0

您将表单数据从 searchtenant.html 发布到 newterms2.html 而不是tenantlistmob2.php。

  • jQuery/Javascript 无法处理发送到页面的 POST 数据。
  • jQuery.getJSON 使用 GET,而不是 POST。

您需要做的是将 newterms2.html 更改为一个 PHP 页面,该页面可以使用来自 searchtenant.html 的 POST 数据并将其用于 ajaxrequest。

newterms2.php 中的 Javascript 更改

<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>

这应该够了吧。

于 2012-08-27T08:08:48.673 回答