通-6ren">
gpt4 book ai didi

php - 使用 CSS 和 PHP/MySQL 的动态下拉菜单

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

我想使用 PHP 和 MySQL 创建一个动态下拉菜单。菜单还可以,但不是我想要的方式。

我想要如下所示的菜单(垂直排序并限制垂直和水平的元素数量)

enter image description here

我尝试按照以下代码实现此目的:

<?php foreach ($result as $riw) { ?>
<div class="four columns">
<li><a href="<?php echo $riw['fmprmlink']; ?>"><?php echo
$riw['remedy_name']; ?></a> </li>
</div>
<?php } ?>

通过上述方法,我得到的结果不是必需的

enter image description here

并且不使用 <div class="four columns">结果如下,同样不需要

enter image description here

我希望元素按字母顺序垂直排列和显示。

最佳答案

一种简单的可能性,即首先对列进行排序,然后对列进行排序,然后对列进行排序。
有什么可以改进的吗?
显示多种可能性中的一种。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>4 columns</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
function setline($conte,$i,$count,$ILines){
$act1 = $i;
$act2 = 1*$ILines + $i;
$act3 = 2*$ILines + $i;
$act4 = 3*$ILines + $i;
echo "<li>".$conte[$act1]."</li>\n"; // 0
if ($act2 < $count){ echo "<li>".$conte[$act2]."</li>\n";}
if ($act3 < $count){ echo "<li>".$conte[$act3]."</li>\n";}
if ($act4 < $count){ echo "<li>".$conte[$act4]."</li>\n";}
}
//-----------main---------------
echo "<ul id=\"quad\">";
$anArry = array("CSS","XHTML","Semantics","Accessibility","Usability","Web Standards","PHP","Typography","Grids","CSS3","HTML5");
sort($anArry);
$count = count($anArry);
$Idiv = (int)($count/4);
if ($count - ($Idiv * 4)>0) {$ILines = $Idiv+1;} else {$ILines = $Idiv;}

for ($i = 0; $i < $ILines; $i++) {
setline($anArry,$i,$count,$ILines);
}
echo "<ul/>";
?>
</body>
</html>

enter image description here

接下来是4 列列表正常标准外观。
为了得到它,我们只更改了 for 循环
从左到右排序(不是 OP 想要的)

for ($i = 0; $i < $count; $i++) {
echo "<li>".$anArry[$i]."</li>\n";
}

enter image description here


现在我们知道了矩阵......

  1| 0-2 3-5 6-8 9-11
col| 1 2 3 4
---|---------------
r 1| 0 3 6 9
o 2| 1 4 7 10
w 3| 2 5 8 11

...我们可以写一个更简单的函数。

function sortfor4c($cont,$i,$ILines,&$ICol,&$IRow){
echo "<li>".$cont[$ICol * $ILines - $ILines + $IRow -1]."</li>\n";
$ICol++;
if ($ICol > 4) {
$ICol = 1;
$IRow++;
}
}
....
$ICol = 1;
$IRow = 1;

for ($i = 0; $i < $count; $i++) {
sortfor4c($anArry,$i,$ILines,$ICol,$IRow);
}

样式.css

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6{ 
margin:0;
padding:0;
}

ol,ul{
list-style:none;
}

body{
font-family:Georgia, "Times New Roman", Times, serif;
color:#333;
}

ul{
width:760px;
margin-bottom:20px;
overflow:hidden;
border-top:1px solid #ccc;
}
li{
line-height:1.5em;
border-bottom:1px solid #ccc;
float:left;
display:inline;
}

#quad li { width:25%; }

关于php - 使用 CSS 和 PHP/MySQL 的动态下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805215/

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