Я создал скрипт календаря встреч и хочу отображать результаты за любой день на карте Google и в таблице ниже, не обновляя всю страницу.В настоящее время, используя ajax, карта прекрасно обновляется, а таблица - нет.
Когда дата щелкается в календаре, она записывается с помощью javascript в скрытое поле формы, затем при нажатии кнопки обновления (submit) ajax в заголовке отправляет форму в фоновом режиме, чтобы перезаписать $Обновите переменную, обновите карту div и таблицу div.
В настоящее время переменная обновляется в сеансе, запускается скрипт для обновления файла XML, и календарь успешно обновляется, показывая эти данные XML.Однако таблица div не обновляется.Если я вручную обновляю всю страницу, новые результаты отображаются успешно, поэтому она выбирает обновленную переменную, но не обновляется через ajax.
Я понимаю, что это, вероятно, связано с тем, что ajax является стороной клиента и стороной php-сервера, поэтомузапросы php не выполняются, но я также попытался использовать file_get_contents (который работает для сценария генерации xml) внутри div для выполнения этих запросов без загрузки всей страницы, но это просто ничего не показывает, так что я думаю, что упустил что-то фундаментальноеи, возможно, очень просто!
--------- ajax in head to run update script and reload divs --------
<!-- silently submit the updatedate form to update the session variable.
Then reload the map and table divs using this new variable -->
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('#update').on('submit', function (e) {
// stop the page from reloading
e.preventDefault();
// but submit the form
$.ajax({
type: 'post',
url: 'actions/updatedate.php',
data: $('#update').serialize(),
success: function () {
$("#map-outer").load("../map.php");
$("#tbl-outer").load("../table.php");
}
});
});
});
</script>
--------- main page --------
<div>calendar content here</div>
<div>customer details form here</div>
<div class="clear" style="text-align: left;">
<!-- set default then let script overwrite -->
<?php $updatedate = date('Y-m-d'); ?>
<!-- run form (via ajax in head) to update variable and write to session -->
<form id="update" method="post">
<input type="hidden" name="updatedate" id="updatedate" />
<input type="submit" name="submit" value="update map and table" />
</form>
<!-- update variable form session -->
<?php $updatedate = $_SESSION['updatedate']; ?>
<br />
</div>
<div id="map-outer" class="twocol1">
<?php include "../map.php" ?> <!-- this page runs a script to pull the db values and write them to xml, then displays google map code -->
<br /><br />
</div>
<div id="tbl-outer" class="twocol2">
<?php include "../table.php" ?> <!-- this page pulls the db values and display them in a table -->
</div>
--------- map.php page --------
<?php
// silently run the db to xml script before loading the map //
file_get_contents("admin/actions/dbtoxml.php");
?>
<div id="map"></div>
<script> ..... script to show google map with custom markers ..... </script>
--------- table.php page --------
<h2>Morning</h2>
<?php
$sql = "SELECT * FROM wasps_appointments WHERE date = '$updatedate' AND time = 'Morning' AND block = 0 AND completed = 0 ORDER BY date ASC";
$result = $connection->query($sql);
?>
<?php include 'admin/includes/view-table-today.php'; ?>
<br /><br />
<h2>Afternoon</h2>
<?php
$sql = "SELECT * FROM wasps_appointments WHERE date = '$updatedate' AND time = 'Afternoon' AND block = 0 AND completed = 0 ORDER BY date ASC";
$result = $connection->query($sql);
?>
<?php include 'admin/includes/view-table-today.php'; ?>
Кто-нибудь может указать мне правильное направление?
Большое спасибо, Хелен