所以我创建了一个动态菜单。我将菜单的主要类别存储在一个单独的表中,而子类别存储在另一个表中。它们是以这种方式存储的
Categories Table
id cat_name
1 HOME,
2 PRODUCTS,
3 SOLUTIONS,
4 NEWS & GALLERY,
5 DOWNLOADS,
6 CONTACT 现在我正在运行一个查询
$sql="SELECT * FROM categories";
$query = mysqli_query($con, $sql);
while($row = mysqli_fetch_assoc($query)) {
$row['cat_name'];
$cat=explode(",",$row['cat_name']);
}然后,在任何需要的地方,我都像这样打印这些值
<?php echo $cat[0]; .. echo $cat[1]; //and so on ?>现在看起来像是this。它应该看起来像this,但这个解决方案的问题是,我必须定义数组的索引才能打印它。
我正在开发这个管理面板,我希望,如果管理员添加了一个新的菜单项,那么它应该自动获取并显示它。但使用这种解决方案是不可能的。我正在考虑使用for循环迭代值,但无法正确完成。
发布于 2017-08-23 13:24:02
您可以将其保存在数组中,然后再访问这些值。
$sql="SELECT * FROM categories";
$query = mysqli_query($con, $sql);
$cat = array();
while($row = mysqli_fetch_assoc($query)) {
$cat[]=$row['cat_name']
}现在:
foreach ($cat as $category) {
$cate_gory = explode("," , $category);
foreach ($cate_gory as $categories) {
echo $categories . "<br>";
}
}发布于 2017-08-23 13:26:03
使用$rows ($query作为foreach )
或
用于($i=0;$i < count($query);$i++)
发布于 2017-08-23 13:27:14
也许你也可以试试这个
$sql="SELECT * FROM categories";
$query = mysqli_query($con, $sql);
while($row = mysqli_fetch_assoc($query))
{
$row['cat_name'];
$cat=explode(",",$row['cat_name']);
foreach($cat as $catss)
{
$cat = trim($catss);
$categories .= "<category>" . $cat . "</category>\n";
}
}https://stackoverflow.com/questions/45831145
复制相似问题