PHP-下拉列表不显示mysql中的所有项
我试图制作一个下拉菜单,并列出多个项目以及 例如: 这是我的数据库: 如果您在该图像中看到,您只能看到其中一行有一个父行如果我希望多行有一个“Far-Away123”的父行,则只显示其中一个项目PHP-下拉列表不显示mysql中的所有项,php,html,mysql,Php,Html,Mysql,我试图制作一个下拉菜单,并列出多个项目以及 例如: 这是我的数据库: 如果您在该图像中看到,您只能看到其中一行有一个父行如果我希望多行有一个“Far-Away123”的父行,则只显示其中一个项目 <?php function build_dropdown ($parent, $pages){ $items = ""; foreach($pages as $page){ // $items = ""; if($page['parent'] == $parent
<?php
function build_dropdown ($parent, $pages){
$items = "";
foreach($pages as $page){
// $items = "";
if($page['parent'] == $parent){
$items = $page;
} // END if
} // END foreach
if(is_array($items)){ // If a sub
echo '<ul id="sub_menu" class="sub_navagation'. $items['id'] .'">';
echo '<li>'.$items['page_name'].'</li>';
echo '</ul>';
} // END if
}// End Function
$sql = "SELECT * FROM pages ORDER by item_order";
$result = mysqli_query($db, $sql);
confirm_query($result);
while ($row = mysqli_fetch_assoc($result)) {
$pages[] = $row; // Add each row to $pages array to use later
}
foreach($pages as $key => $page){
if($page['parent'] == 'none'){ ?>
<li id = "<?php echo $page['id']; ?>">
<a href="page.php?id=<?php echo $page['id']; ?>" title="<?php echo $page['page_title']; ?>">
<?php echo $page['page_name']; ?>
</a>
<?php ?>
<?php
} // END if
build_dropdown($page['page_name'], $pages); // If there are child items then build them out
echo "</li> ";
} // END foreach
?>
因为你只加了一个
您有一个foreach搜索所有页面中的子项,并且只为后者记住其中一个if(is_array())
function build_下拉菜单($parent,$pages)
{
//项是一个数组
$items=array();
foreach($页为$页){
如果($page['parent']==$parent){
//将元素添加到数组中
$items[]=$page;
}//如果结束,则结束
}//结束foreach
若有($项){
echo'
”;
}//如果结束,则结束
}//端函数
顺便说一下,最好从函数开始,给出build\u下拉列表($parent='none',$pages)
,因为您只添加了一个
您有一个foreach搜索所有页面中的子项,并且只为后者记住其中一个if(is_array())
function build_下拉菜单($parent,$pages)
{
//项是一个数组
$items=array();
foreach($页为$页){
如果($page['parent']==$parent){
//将元素添加到数组中
$items[]=$page;
}//如果结束,则结束
}//结束foreach
若有($项){
echo'
”;
}//如果结束,则结束
}//端函数
顺便说一句,最好从函数开始,给出build\u下拉列表($parent='none',$pages)
在buildDropdown()函数中尝试一下
$items = array();
foreach($pages as $page)
{
if($page['parent'] == $parent)
{
$items[] = $page;
}
}
if (count($items) > 0)
{
echo '<ul id="sub_menu_'.$parent.'" class="sub_navagation">';
foreach($items as $item)
{
echo '<li>'.$item['page_name'].'</li>';
}
echo '</ul>';
}
$items=array();
foreach($页为$页)
{
如果($page['parent']==$parent)
{
$items[]=$page;
}
}
如果(计数($items)>0)
{
echo“
”;
}
在buildDropdown()函数中尝试此操作
$items = array();
foreach($pages as $page)
{
if($page['parent'] == $parent)
{
$items[] = $page;
}
}
if (count($items) > 0)
{
echo '<ul id="sub_menu_'.$parent.'" class="sub_navagation">';
foreach($items as $item)
{
echo '<li>'.$item['page_name'].'</li>';
}
echo '</ul>';
}
$items=array();
foreach($页为$页)
{
如果($page['parent']==$parent)
{
$items[]=$page;
}
}
如果(计数($items)>0)
{
echo“
”;
}
父列不应该包含页面ID而不是名称吗?您希望显示多个项目吗?其中只有一个有“Far Far Away123”的父项,所以如果你转到该页面,只有一个会出现…嘿,伙计,这将是一个好主意,但我已经编写了这样的代码,更改它需要很长时间是的,但我已尝试将其更改为两个,但仍然不起作用父列不包含页面ID,不是名称?要显示多个项目吗?其中只有一个有“Far Far Away123”的父项,所以如果你转到该页面,只有一个会出现…嘿,伙计,这将是一个好主意,但我已经编写了这样的代码,更改它需要很长时间是的,但我尝试过将其更改为两个,但仍然不起作用。你将在第13行收到E_通知:未定义的索引“id”(在这个列表中)和未定义的页面后面几行,谢谢,他不想让家长在那里的某个地方给我id吗?我看到你的帖子后,马上把我的答案送到市场上,我会给你投票。你会得到通知:未定义的索引“id”在第13行(在这个列表中)后面几行是未定义的页面名称谢谢,他不想让家长在那里的某个地方填写身份证吗?看到你的帖子后,我赶紧把我的答案送到市场上,我会投你的