Как получить onclick для отображения содержимого файла php - PullRequest
0 голосов
/ 24 ноября 2018

У меня проблема с включением функции onclick.При нажатии на «unit» в HTML-файле «unit_test» исчезает, и вместо этого отображается содержимое unit_display.php.Это то, что я хочу, чтобы это произошло.

Однако, если я нажму на «Феникс», «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 голосов
/ 24 ноября 2018

Похоже, вы пытаетесь заставить их щелкнуть, когда Phoenix является объектом, когда это должна быть строка.

Заменить это:

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

на это:

<div onclick="showProp('Phoenix')"><a href="#">Properties</a></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...