gpt4 book ai didi

javascript - 我如何使用下拉列表根据其 DateTransaction 对其进行排序?

转载 作者:行者123 更新时间:2023-11-29 23:53:36 27 4
gpt4 key购买 nike

我是 PHP 新手,需要您的帮助。 :)所以基本上,我想使用基于 DateTransaction 列的下拉列表对该表进行排序,但选择是从 1 月到 12 月。

所以我有这个代码

           <?php
$q = intval($_GET['q']);

$con = mysqli_connect('localhost','root','','duday2.0');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="
SELECT transaction.totalAmountDue, transaction.DateTransaction, transaction.condition, transaction.reasonVoid, sales.productID, sales.quantity, sales.subtotal, sales.transactionID, sales.productID, sales.quantity, sales.subtotal FROM transaction INNER JOIN sales ON sales.transactionID = transaction.transactionID WHERE transaction.transactionID = '".$q."'";
$result = mysqli_query($con,$sql)
or die("Error: ".mysqli_error($con));

echo '<table class= "t_data" border=1 cellspacing=5>';
echo '<thead style="padding:1px">';
echo '<tr>
<td height="5" width="2000" align="left" colspan=10><strong><font color=white>TransactionID</td>
<td height="5" width="2000" align="left" colspan=10><strong><font color=white>DateTransaction</td>
<td height="5" width="2000" align="left" colspan=10><strong><font color=white>Condition</td>
<td height="5" width="2000" align="left" colspan=10><strong><font color=white>Product ID</td>
<td height="5" width="2000" align="left" colspan=10><strong><font color=white>Quantity</td>
<td height="5" width="2000" align="left" colspan=10><strong><font color=white>Sub Total</td>
</thead>
</tr>';

while($row = mysqli_fetch_array($result))
{
echo '<tr>
<td width="100px" align="left" colspan=10>'.$row['transactionID'].'</td>
<td width="100px" align="left" colspan=10>'.$row['DateTransaction'].'</td>
<td width="100px" align="left" colspan=10>'.$row['condition'].'</td>
<td width="100px" align="left" colspan=10>'.$row['productID'].'</td>
<td width="100px" align="left" colspan=10>'.$row['quantity'].'</td>
<td width="100px" align="left" colspan=10>'.$row['subtotal'].'</td>
</tr>';
}
echo "</table>";

mysqli_close($con);
?>

和这段代码

    <script>
function showReport(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {

xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getReport.php?q="+str,true);
xmlhttp.send();
}
</script>


<form>
<select name="months" onchange="showReport(this.value)">

<option Selected>--Select Month--</option>
<option value="">January</option>
<option value="">February</option>
<option value="">March</option>
<option value="">April</option>
<option value="">May</option>
<option value="">June</option>
<option value="">July</option>
<option value="">August</option>
<option value="">September</option>
<option value="">October</option>
<option value="">November</option>
<option value="">December</option>
</select>

</form>

而且我不知道要在值中输入什么来按月份对日期进行排序。

TIA。

最佳答案

如下装饰表格:

<table id="tblRecords">
<thead>
<tr>
// your header code goes here...
</tr>
</thead>
<tbody>
</tbody>
</table>

更改下拉值字段如下:

<select name="months" onchange="showReport(this.value)">
<option Selected>--Select Month--</option>
<option value="1">January</option>
<option value="2">February</option>
...

按如下方式替换您的脚本:

<script>
function showReport(str) {
if (str=="") {
document.getElementById('myTable').getElementsByTagName('tbody')[0].innerHTML="";
return;
}
if (window.XMLHttpRequest) {

xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById('myTable').getElementsByTagName('tbody')[0].innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getReport.php?q="+str,true);// here str is the value field of the dropdown selected
xmlhttp.send();
}
</script>

在 getReport.php 中,编写查询并生成字符串中的行,如下所示:

SELECT * FROM table WHERE MONTH(dateStart) = {$m} // where $m is the month which you selected in the dropdown list as passed through ajax

$str = ''
while($row = mysqli_fetch_array($result))
{
$str .= '<tr>'
// your columns text
$str .= '</tr>'
}
return $str;

每次有 ajax 调用时,都会根据过滤器创建新行并填充表格。

希望这有帮助:)

关于javascript - 我如何使用下拉列表根据其 DateTransaction 对其进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476439/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com