gpt4 book ai didi

javascript - 使用 AJAX 按值对多个类别进行排序

转载 作者:行者123 更新时间:2023-12-01 03:58:21 25 4
gpt4 key购买 nike

我正在尝试对使用 ajax get 请求拉取的数据进行排序,我如何获取所有已检查的类别而不是仅按下的一个,如果两者都已检查,则最好同时获得 2/3?

目前我在数据库中的“类别”下插入了一个数字,它们应该通过这些数字进行排序?

如何获取网址中的两个查询?

示例:http://xch07.wi2.sde.dk/sandbox/SQL/

HTML

<form>
<input class="kategorier" type="checkbox" value="1">Kat 1<br>
<input class="kategorier" type="checkbox" value="2">Kat 2 <br>
<input class="kategorier" type="checkbox" value="3">Kat 3
</form>
<br>
<div id="txtHint">Person info will be listed here...
</div>

JS/AJAX

var kategorier = document.getElementsByClassName("kategorier");
var kategorierLength = kategorier.length;

for(let i=0; i < kategorierLength ;i++){
kategorier[i].addEventListener('click', function(){
showUser(this.value);
});
};

function showUser(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 (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET","index.php?page=getuser&kategori="+str ,true);
xmlhttp.send();
}
}

PHP

$kategori = intval($_GET['kategori']);
mysqli_select_db($dbCon,"ajax_demo");
$sql="SELECT * FROM db_test WHERE kategori = $kategori ";
$result = $dbCon->query($sql);

echo "<table>
<tr>
<th>Id</th>
<th>Navn</th>
<th>Efternavn</th>
<th>email</th>
<th>Kategori</th>
</tr>";
while($row = $result->fetch_object()) {
$id = $row->id;
$navn = $row->navn;
$efternavn = $row->efternavn;
$email = $row->email;
$kategori = $row->kategori;

echo "<tr>";
echo "<td>" . $id . "</td>";
echo "<td>" . $navn . "</td>";
echo "<td>" . $efternavn . "</td>";
echo "<td>" . $email . "</td>";
echo "<td>" . $kategori . "</td>";
echo "</tr>";
}
echo "</table>";

最佳答案

<script type="text/javascript">
window.onload = function () {

var kategorier = document.getElementsByClassName("kategorier");
var kategorierLength = kategorier.length;

for(var i=0; i < kategorierLength ;i++){
kategorier[i].addEventListener('click', function(){

var checked = '';

for (var k = 0; k < kategorierLength; k++) {

if (checked) {
var separator = ',';
} else {
var separator = '';
}

if (kategorier[k].checked) {
checked += separator+kategorier[k].value;
}
}
alert(checked);
if (checked) {
showUser(checked);
}
});
}
}

之后,您需要更改查询并使用 IN 语句,如下所示。

$kategori = $_GET['kategori'];
mysqli_select_db($dbCon,"ajax_demo");
$sql="SELECT * FROM db_test WHERE kategori IN ($kategori)";
$result = $dbCon->query($sql);

关于javascript - 使用 AJAX 按值对多个类别进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42425824/

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