我在php和mysql方面不是很好但是基于我的代码,我能够显示我想要的结果,但它没有显示在正确的DOM结构中。
我想显示如下:
<div class="container">
<h1>Header</h1>
<ul><li>
<p>data 1</p>
<p>data 2</p>
</li></ul>
</div>
<div class="container">
<h1>Header</h1>
<ul><li>
<p>data 1</p>
<p>data 2</p>
</li></ul>
</div>
我不知道为什么我的代码会一直向我返回数据并显示第1级ul中的所有内容而不是像下面那样分开:
<div class="container">
<h1>Header</h1>
<ul><li>
<p>data1</p>
<p>data 2</p>
<div class="container">
<h1>Header</h1>
<ul><li>
<p>data1</p>
<p>data 2</p>
</li></ul>
</div>
</li></ul>
</div>
我玩过代码并尝试了不同的方法,但仍然无法正常显示。以下是我的代码:
<?php
$data='';
$previousVal = '';
// Update new images
$levelArray=array('B1','L1','L2','main','L3','L4','L5');
foreach ($levelArray as $i=>$level) {
$img = "img/".$level.".jpg";
if($level=='main'){
$result = mysqli_query($con,"SELECT * FROM floor_directory ORDER BY categories");
}
else {
$result = mysqli_query($con,"SELECT * FROM floor_directory WHERE level='$level' ORDER BY categories");
}
while($row = mysqli_fetch_array($result)){
if($previousVal != $row['categories']){
$data .= '<div class="container"><h1>'.$row['categories'].'</h1>';
$previousVal = $row['categories'];
}
$data .= '<ul><li>
<p class="float_left">'.$row['name'].'</p>
<p class="float_right">'.$row['unit_number'].'</p>
</li></ul></div>';
}
if($levelArray[$i]=='main'){
echo '<div class="swiper-slide">
<img src="'.$img.'" alt="" />
<div class="content_container_main">'.$data.'</div>
</div>';
}
else {
echo '<div class="swiper-slide">
<img src="'.$img.'" alt="" />
<div class="content_container">'.$data.'</div>
</div>';
}
$data='';
$previousVal = '';
}
?>
希望你们明白。在此先感谢帮助人员。
答案 0 :(得分:0)
更改代码同时会使其正常工作,更改此代码,
while($row = mysqli_fetch_array($result)){
if($previousVal != $row['categories']){
$data .= '<div class="container"><h1>'.$row['categories'].'</h1>';
$previousVal = $row['categories'];
}
$data .= '<ul><li>
<p class="float_left">'.$row['name'].'</p>
<p class="float_right">'.$row['unit_number'].'</p>
</li></ul></div>';
}
有了这个,
while($row = mysqli_fetch_array($result)){
if($previousVal != $row['categories']){
$previousVal = $row['categories'];
}
$data .= '<div class="container"><h1>'.$row['categories'].'</h1>';
$data .= '<ul><li>
<p class="float_left">'.$row['name'].'</p>
<p class="float_right">'.$row['unit_number'].'</p>
</li></ul></div>';
}
如果不在另外的脚本中使用,你甚至可以删除if check(在while循环中)。