如何获得onclick以显示php文件的内容

时间:2018-11-24 01:52:39

标签: javascript php onclick

我在使onclick函数正常工作时遇到问题。 单击HTML文件中的“ units”,“ unit_test”消失,而是显示unit_display.php的内容。这就是我想发生的事情。

但是,如果我单击“ Phoenix”,“ prop_test”仍然存在,并且prop_display.php的结果不会出现。

我可以浏览至prop_display.php?city = Phoenix,它将从该表中拉出属性列表,因此这将prop_display.php代码排除在了罪魁祸首。

这是我的html文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<script>

function showProp(str) {
xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("propDisplay").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET","prop_display.php?city="+str,true);
        xmlhttp.send();
}

function showUnit(str) {
xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("unitDisplay").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET","unit_display.php?prop_id="+str,true);
        xmlhttp.send();
}

</script>
</head>
<body>
<div onclick="showProp(Phoenix)"><a href="#">Properties</a></div>
<div onclick="showUnit(8)"><a href="#">units</a></div>
<br>
<div id="propDisplay">prop_test</div>
<div id="unitDisplay">unit_test</div>

</body>
</html>

这是prop_display.php:

<?php
include('vars.php');
$city = strval($_GET['city']);
print $city;
if (!$link) {
    die('Could not connect: ' . mysqli_error($con));
}
if ($prop_query = mysqli_query($link, "SELECT * FROM property WHERE city='$city' ORDER BY street asc")){}
while ($prop_array = mysqli_fetch_array($prop_query, MYSQLI_BOTH)){
    $prop_id=$prop_array['prop_id'];
    print " <li><div onclick=\"showUnit($prop_id)\"><a href=\"#\">" . $prop_array['name'] . "<br>
    " . $prop_array['street'] . "</a></div>
";
}
mysqli_close($link);
?>

这是unit_display.php:

<?php
include('vars.php');
$prop_id = intval($_GET['prop_id']);
print $prop_id;
if (!$link) {
    die('Could not connect: ' . mysqli_error($con));
}
if ($unit_query = mysqli_query($link, "SELECT * FROM units WHERE prop_id='$prop_id' ORDER BY unit asc")){}
while ($unit_array = mysqli_fetch_array($unit_query, MYSQLI_BOTH)){
    print " <li><a href=\"#\" target=\"_blank\">" . $unit_array['unit'] . "</a></li>
";
}
mysqli_close($link);
?>

1 个答案:

答案 0 :(得分:0)

似乎您想让它们单击Phoenix作为对象时应该是一个字符串。

替换此:

<div onclick="showProp(Phoenix)"><a href="#">Properties</a></div>

与此:

<div onclick="showProp('Phoenix')"><a href="#">Properties</a></div>