所以我在创建一个打印选定年份结果的搜索功能时遇到了问题。用户基本上选择他们希望查看当年发生的所有任务的年份。
我尝试了很多功能,而且我还在学习myslqi,所以我为mysql目前没有这个*而道歉。
这是我到目前为止所得到的,我没有收到任何错误,我没有收到任何错误,我只是没有得到任何结果。
这是用户选择他们想要的年份的html;
我已将代码缩减以显示重要部分;
首先,这里是html年份选择:
<table>
<div class="container-fluid">
<form>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" onclick="showYear(this.value)" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2015">
<button type="button" class="btn btn-default" value="2015">2015</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2014">
<button type="button" class="btn btn-default" value="2014">2014</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2013">
<button type="button" class="btn btn-default" value="2013">2013</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2012">
<button type="button" class="btn btn-default" value="2012">2012</button>
</div>
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" onclick="showYear(this.value)" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2011">
<button type="button" class="btn btn-default" value="2011">2011</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2010">
<button type="button" class="btn btn-default" value="2010">2010</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2009">
<button type="button" class="btn btn-default" value="2009">2009</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2008">
<button type="button" class="btn btn-default" value="2008">2008</button>
</div>
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" onclick="showYear(this.value)" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2007">
<button type="button" class="btn btn-default" value="2007">2007</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2006">
<button type="button" class="btn btn-default" value="2006">2006</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2005">
<button type="button" class="btn btn-default" value="2005">2005</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2004">
<button type="button" class="btn btn-default" value="2004">2004</button>
</div>
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year"onclick="showYear(this.value)" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2003">
<button type="button" class="btn btn-default" value="2003">2003</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2002">
<button type="button" class="btn btn-default" value="2002">2002</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2001">
<button type="button" class="btn btn-default" value="2001">2001</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2000">
<button type="button" class="btn btn-default" value="2000">2000</button>
</div>
</div>
</form>
</table>
<div class="container-fluid" id="txtHint"><b></b></div>
本页顶部有一个脚本可以处理并传递此内容:
<script>
function showYear(str) {
if (str == "") {
document.getElementById("txtHint").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 (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","getYear.php?year="+str,true);
xmlhttp.send();
}
}
</script>
这是php:
<html>
<body>
<div class="container-fluid"> <!-- Table Headers -->
<table class="table table-hover table-responsive">
<thead>
<tr>
<th>Series:</th><th>Title:</th><th>Date:</th><th>Type:</th><th>House Location:</th><th>Housemates:</th>
<br>
</tr>
</thead>
</div>
<?php
$date = intval($_GET['year']);
include('dbconnect.php');
$sql ="SELECT * FROM tasks WHERE YEAR(date) = '$date' ";
$result = mysql_query($sql);
if (!$result)
echo "An error occurred: ".mysql_error();
else
while ($row=mysql_fetch_assoc($result))
{
$taskid = $row['taskid'];
echo '<tr>';
echo '<td>';
echo '<button type="button" name="delete_row" id="delete_row" class="close">';
echo '<a href="taskResult.php?id='. $taskid .'">';
echo '<span title="View" aria-hidden="true" class="glyphicon glyphicon-search">';
echo '</span>';
echo '<span class="sr-only">';
echo 'View';
echo '</span>';
echo '</button>';
echo '</a>';
echo '</td>';
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
echo "<td>" . $row['type'] . "</td>";
echo "<td>" . $row['houseLocation'] . "</td>";
echo "<td>" . $row['housemates'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close();
?>
目前我只是在任何选择上打印表头?
非常感谢任何帮助。这是一个非常小的项目,我是一个非常新的编码器。
答案 0 :(得分:0)
第一件事就是跳出来的是你在sql中将数字与字符串进行比较。
$sql ="SELECT * FROM tasks WHERE YEAR(date) = '$date' ;
通过将$ date包装在引号内,它变为字符串值。 YEAR(日期)返回的数字年份值永远不会与字符串值匹配。
即。 2015年!=&#39; 2015&#39;
答案 1 :(得分:0)
在你JS:
xmlhttp
未定义。尝试在var
之前添加xmlhttp
,例如:
var xmlhttp = new XMLHttpRequest();
和
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
OR
在var xmlhttp
区块的第一行添加else
。
并且您的onclick
方法已添加到html中的错误div中,因为它应添加到按钮中:
用这个来回复HTML:
<table>
<div class="container-fluid">
<form>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2015">
<button type="button" class="btn btn-default" value="2015" onclick="showYear(this.value)">2015</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2014">
<button type="button" class="btn btn-default" value="2014" onclick="showYear(this.value)">2014</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2013">
<button type="button" class="btn btn-default" value="2013" onclick="showYear(this.value)">2013</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2012">
<button type="button" class="btn btn-default" value="2012" onclick="showYear(this.value)">2012</button>
</div>
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2011">
<button type="button" class="btn btn-default" value="2011" onclick="showYear(this.value)">2011</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2010">
<button type="button" class="btn btn-default" value="2010" onclick="showYear(this.value)">2010</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2009">
<button type="button" class="btn btn-default" value="2009" onclick="showYear(this.value)">2009</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2008">
<button type="button" class="btn btn-default" value="2008" onclick="showYear(this.value)">2008</button>
</div>
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2007">
<button type="button" class="btn btn-default" value="2007" onclick="showYear(this.value)">2007</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2006">
<button type="button" class="btn btn-default" value="2006" onclick="showYear(this.value)">2006</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2005">
<button type="button" class="btn btn-default" value="2005" onclick="showYear(this.value)">2005</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2004">
<button type="button" class="btn btn-default" value="2004" onclick="showYear(this.value)">2004</button>
</div>
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="..." name="year" id="year" class="form-control">
<div class="btn-group btn-group-lg" role="group" value="2003">
<button type="button" class="btn btn-default" value="2003" onclick="showYear(this.value)">2003</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2002">
<button type="button" class="btn btn-default" value="2002" onclick="showYear(this.value)">2002</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2001" >
<button type="button" class="btn btn-default" value="2001" onclick="showYear(this.value)">2001</button>
</div>
<div class="btn-group btn-group-lg" role="group" value="2000">
<button type="button" class="btn btn-default" value="2000" onclick="showYear(this.value)">2000</button>
</div>
</div>
</form>
</table>
<div class="container-fluid" id="txtHint"><b></b></div>