PHP MySQL 从日期变量查询

标签 php mysql

我正在尝试根据日期用户输入从数据库中查询表。 这是我的代码:

<input type="date" name="date" value="<?php echo date('Y-m-d'); ?>">
<input type="submit" value=">" onclick="showDate(this.value)">

用于用户输入(默认为当前日期)

这是我的 php 脚本

$q = $_GET['date'];

$sql="SELECT * FROM mathtest WHERE testdate = '$q'";
$result = mysqli_query($con,$sql);

这是我的 ajax 脚本:

<script>
function showDate(str) {
if (str == "") {
document.getElementById("mathtestHere").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
} else {
    // code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        document.getElementById("mathtestHere").innerHTML = 
this.responseText;
    }
};
xmlhttp.open("GET","getmathdate.php?q="+str,true);
xmlhttp.send();
}
}
</script>

和我的 php echo 函数:

echo "<table>
<tr>
<th>ID</th>
<th>First name</th>
<th>Last name</th>
<th>Level</th>
<th>Time</th>
<th>Score</th>
<th>Date</th>
<th>Added by</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "<td>" . $row['testlevel'] . "</td>";
echo "<td>" . $row['testtime'] . "</td>";
echo "<td>" . $row['testscore'] . "</td>";
echo "<td>" . $row['testdate'] . "</td>";
echo "<td>" . $row['addedBy'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);

然后回显到 php 表中。我正在使用 AJAX onclick 函数将表格呈现到我的正文中。

出于某种原因,它不会显示该日期进行的测试。 谢谢!

最佳答案

你犯的一个相当严重的错误是

<input type="submit" value=">" onclick="showDate(this.value)">

由于输入是 this,而本例中的 .value> 而不是日期。

为了解决这个问题,我将您的 HTML 代码更改为:

<input type="date" name="date" id="date-selector" value="<?php echo date('Y-m-d'); ?>">
<input type="submit" value=">" onclick="showDate()">

和 JavaScript:

function showDate() {
    var str = document.getElementById("date-selector").value;
    if (str == "") {
        document.getElementById("mathtestHere").innerHTML = "";
        return;
    } else {
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {
            // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("mathtestHere").innerHTML =
                    this.responseText;
            }
        };
        xmlhttp.open("GET","getmathdate.php?q="+str,true);
        xmlhttp.send();
    }
}

关于PHP MySQL 从日期变量查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017502/

相关文章:

php - MySQL查询使用php基于列更新多行

PHP 从 MySQL 字段中删除特定数字

javascript - 表单 php、html、js

mysql 5.6 更改表删除列(如果存在)

mysql - 问题设置事件以清除mysql中的列

mysql - MySQL 功能存在问题

php - PDO:FetchAll 返回空数组

php - 错误 : Could not make a database connection using user@host

Php Mysql 使用 Id 从 2 个表中删除

php - 从用户 id 数组中选择帖子 id - mysql