我正在创建一个程序来跟踪雇主及其每月的工作时间。我创建了包含 3 列的数据库。第一个是月份,第二个是名称,第三个是小时。我想要做的是让用户选择一个月并获取该月每个雇主的姓名和工作时间。我已经实现了 AJAX,但只在 PHP 上苦苦挣扎。还有第二个问题:目前表格会自动加载。我怎样才能让它等到做出选择,然后表格应该只显示所选月份的名称和时间?
数据库看起来像:
month name hours
1 xyx 180
3 xxx 180
2 yyy 174
1 yxy 160
HTML:
Mesec: <select name="mesec">
<option value="1">Januar</option>
<option value="2">Februar</option>
<option value="3">Marec</option>
</select><br><br>
<title>smart</title>
<scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$.ajaxSetup({ cache: false });
setInterval(function() {
$('#results').load('tabela.php');
}, 3000);
});
// ]]></script>
<div id="results">Loading data ...</div>
我需要的是 PHP 方面的一些帮助,而我在这方面确实不太擅长。
用于显示表格的 PHP:
echo "<table border='1'>
<tr>
<th>mesec</th>
<th>ime</th>
<th>stevilo_ur</th>
</tr>";
while ( $db_v = mysqli_fetch_assoc($result) ) {
echo "<tr>";
echo "<td>" . $db_v['mesec'] ."</td>";
echo "<td>" . $db_v['ime'] ."</td>";
echo "<td>" . $db_v['stevilo_ur'] ."</td>";
echo"</tr>";
}
echo "</table>";
最佳答案
“setInterval() 方法以指定的时间间隔调用一个函数”,因此您一遍又一遍地加载该表,它应该是这样的:
$(document).ready(function() {
$("#mesec").change(function(){
$('#results').load('tabela.php', {choice: $(this).val()});
});
});
在 PHP 中,您在 sql 查询中使用 $_POST['choice'] (顺便说一句,您没有包含该查询)。大概是这样的
'SELECT * FROM `table` WHERE `month` = ' . $_POST['choice']
关于php - 在html站点中选择一个月并只读取从mysql中选择的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38904247/