发布并获取相同的脚本(HTTP请求)

时间:2015-06-09 15:55:29

标签: javascript php html mysql xmlhttprequest

我正在使用此代码:
HTML code (jsonexamplecss.html):

<!DOCTYPE html>
<html>
<body>
<div id="id01"></div>
<script>
var xmlhttp = new XMLHttpRequest();
var url = "adomaniname/phpselectdatawhere.php";

xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        myFunction(xmlhttp.responseText);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(response) {

    var s = 256;
    var hr = new XMLHttpRequest();
    hr.open("POST", "adomainname/phpselectdatawhere.php", true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.send("limit="+s);
    var arr = JSON.parse(response);
    var i;
    var i = 0;

    for(i = 0; i < arr.length; i++) {
        out = arr[i].name 
        if (out = "0 results") {
            alert("0 results");
        }    
    }
    document.getElementById("id01").innerHTML = out;
    alert(out);
}
</script>
</body>
</html>

PHP代码(phpselectdatawhere.php):

<?php
if(isset($_POST['limit'])){
    $limit = preg_replace('#[^0-9]#', '', $_POST['limit']);
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";    
    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "SELECT id, name FROM testget WHERE id='$limit'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo $row["name"];
        }
    } else {
        echo "0 results";
    }  
    $conn->close();
?>

我有一个名为testget的表格,id, name字段均为VARCHAR。我写了一个脚本来做这些事情:

  1. HTML脚本通过http请求将数据发送到php脚本,在此示例中,它发送limit=256

  2. PHP脚本获取limit=256,从限制中删除数字并存储$limit =256

  3. 之后,PHP脚本会搜索表name中是否存在id='$limit'并打印name(如果存在),否则它会回显0结果。表格testget有一行id=256name=JohnDoe,因此无法回显0结果。

  4. 完成所有这些程序后,HTML脚本会获取回显的内容,并使用JavaScript提醒他们。

  5. 所以在这种情况下,我希望在我的HTML页面中提醒JohnDoe,但遗憾的是没有任何显示。请你帮助我好吗?

    请注意,网址和数据库连接信息是正确的,但您可以理解我不想显示它们。

0 个答案:

没有答案