php - 在html站点中选择一个月并只读取从mysql中选择的月份

标签 php html mysql

我正在创建一个程序来跟踪雇主及其每月的工作时间。我创建了包含 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/

相关文章:

mysql - 导入 10 GB SQL 文件

javascript - 无法再次更改元素 ID

php - MYSQL JOIN 和 GROUP/DISTINCT

javascript - 选择时如何更改菜单颜色?

javascript - 如何在 AngularJS 1 中使用 ng-view 显示 View ?

html - 如何在单行(行)中显示两个 HTML 输入元素

php - 不打印网格线

php - jQuery html5 上传插件。我该如何使用它?

php - 带有 join 的 Sum 函数给出总和乘以 laravel ORM 中条目的次数与 mysql

MYSQL 如何比较字符串