gpt4 book ai didi

php - 来自数据库jquery的字母表 Accordion

转载 作者:可可西里 更新时间:2023-11-01 08:10:01 25 4
gpt4 key购买 nike

所以我想做的是使用 Accordion 按字母顺序显示数据库中的数据。这是我的代码:

<head>
<title>HeadCount - Create New Project</title>
<link href="jquery-ui/jquery-ui.css" rel="stylesheet" />
<script src="jquery-ui/jquery.js"></script>
<script src="jquery-ui/jquery-ui.js"></script>
<script>
$(document).ready(function(){
$("#myAccordion"). accordion({heightStyle:"content"});
$(".source li").draggable({helper:"clone"});
$("#cart").droppable({drop:function(event,ui){
$("#items").append($("<li></li>").text(ui.draggable.text()));
}});
});
</script>
<style>
#myAccordion
{
width:400px;
float:left;
margin:25px;
}
li
{
margin-top:5px;
}
#cart
{
width:300px;
height:400px;
border:2px solid black;
float:left;
}
</style>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "users";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
</head>
<body>

<h2>Items</h2>
<div id="myAccordion">
<?php for($i=321; $i<347; $i++)
{
echo "<h3>".chr($i)."</h3>";
echo '<ul class="source">';
$sql = "SELECT username FROM user WHERE username LIKE '".chr($i+32)."%' ";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
// output data of each row
while($row = $result->fetch_assoc())
{
$name= $row["username"];
echo"<li class='ui-state-highlight'>". $name ."</li>";
//echo "<br>". $name. "<br>";
}
} else
{
echo "0 results";
}
'</ul>';
}
?>
</div>

<div id="cart">
<h2>Project</h2>
<ol id="items"></ol>
</div>


</body>

现在我试图手动添加每个字母并从数据库中逐个字母地选择。但我想知道是否有更简单的方法来做到这一点。谢谢你的帮助。

所以在编辑代码后,它的名字是按字母排序的,但是现在它显示在同一个 Accordion 选项卡下

最佳答案

是的,你可以简单地使用一个 for 循环来完成它......像这样:您可以使用 chr 函数来获取字符形式的字符代码。通常;

chr(256 + 65) = A and chr(256 + 97) = a
chr(256 + 66) = B and chr(256 + 98) = b
chr(256 + 67) = C and chr(256 + 99) = c
and so on ...

所以你可以尝试这样的事情:

<?php for($i=321; $i<347;$i++){
echo "<h3>".chr($i)."</h3>";
echo '<ul class="source">';

$sql = "SELECT username FROM user WHERE username LIKE '".chr($i+32)."%' ";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc())
{
$name= $row["username"];
echo"<li class='ui-state-highlight'>". $name ."</li>";
//echo "<br>". $name. "<br>";
}
} else
{
echo "0 results";
}
?>
</ul>

EDIT 在查看下面关于性能问题的评论后,您可以尝试以下操作:

$sql = "SELECT username FROM user ORDER BY username ASC";
$result = $conn->query($sql);
$row = mysql_fetch_row($result);
for($i=321; $i<347;$i++){
echo "<h3>".chr($i)."</h3>";
echo '<ul class="source">';
foreach($row as $checkrow) {
if($checkrow == chr(i) || $checkrow == chr(i+32)) {
echo"<li class='ui-state-highlight'>". $checkrow ."</li>";
unset($row[key($row)]);
}
}
?>
</ul>

关于php - 来自数据库jquery的字母表 Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197894/

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