Прежде всего, позвольте мне рассказать вам, что я пытаюсь сделать. Я пытаюсь сделать DatePicker, где информация о конкретных датах будет отображаться, когда пользователь нажимает на даты.
calendar.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Datepicker - Default functionality</title>
<link rel="stylesheet" href="jquery-ui.css">
<link rel="stylesheet" href="jquery-ui.min.css">
<link rel="stylesheet" href="jquery-ui.structure.css">
<link rel="stylesheet" href="jquery-ui.structure.min.css">
<link rel="stylesheet" href="jquery-ui.theme.css">
<link rel="stylesheet" href="jquery-ui.theme.min.css">
<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script src="jquery-ui.min.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
$( "#datepicker" ).datepicker({
minDate: 0,
maxDate: 30, //The maximal date that can be selected, i.e. + 1 month, 1 week, and 3 days from "now"showAnim: "bounce",
onSelect: function(dateText, inst) {
$.ajax({
type: 'POST',
url: 'my_ajax_stuff.php',
data: {date : dateText},
success: function(response){
document.getElementById("in").innerHTML = response;
}
});
}
});
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>
это мое my_ajax_stuff.php
<?php
$connection = mysqli_connect("localhost","root","","test");
if (!$con) {
die('Could not connect: ' . mysqli_error($connection));
}
$sql = "SELECT * FROM calendar WHERE startdate={$_post['dateText']}";
$result = mysqli_query($connection,$sql);
echo "<table>
<tr>
<th>title</th>
<th>startdate</th>
<th>enddate</th>
</tr>
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['startdate'] . "</td>";
echo "<td>" . $row['enddate'] . "</td>";
echo "</tr>";
}
echo "</table>";mysqli_close($connection);
?>
Проблема сейчас в том, что указатель даты выглядит нормально. Но когда я нажимаю на даты, данные не отображаются. У меня есть ощущение, что проблема заключается в моем php. Если бы кто-нибудь мог дать мне какое-то руководство о том, как я должен написать это … я действительно благодарен за это. Большое спасибо.
Посмотрите внимательно на ваш PHP-код, и вы сможете найти пропущенную двойную кавычку после первого эха. Вот исправленная версия, которая может помочь вам двигаться вперед.
<?php
$connection = mysqli_connect("localhost","root","","test");
if (!$con) {
die('Could not connect: ' . mysqli_error($connection));
}
$sql = "SELECT * FROM calendar WHERE startdate={$_post['dateText']}";
$result = mysqli_query($connection,$sql);
echo "<table>
<tr>
<th>title</th>
<th>startdate</th>
<th>enddate</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['startdate'] . "</td>";
echo "<td>" . $row['enddate'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
Других решений пока нет …