2017-10-11 171 views
-2

我想把一个滚动条放在foreach中,现在问题是,输出显示每个回显数据上的div。如何把div放入foreach循环?

+0

给你的代码...... – GYaN

+0

https://shrib.com/#foreachproblem –

+0

你能提供结果数组,所以我可以给你解决..? – GYaN

回答

0

每次循环迭代时,foreach循环都会回显。我假设你正在尝试将某些数组或对象的内容回显为可能的行。

要做到这一点,你需要在foreach循环之外回显div的打开和关闭标签。然后,您将使div为静态高度,并设置溢出滚动。使用内联样式是不是最好的做法,但我会用他们在我的例子为简洁起见:

$listOfAnimalsOnNoahsArk = array('dog', 'cat','sheep','warewolf', '...'); 

echo '<div style="width:100%;height:500px;overflow:scroll">'; 
foreach($listOfAnimalsOnNoahsArk as $animal) { 
    echo "<p>$animal</p>"; //Double quotes will print variable values 
} 
echo '</div>'; //Single quotes use less CPU because they print verbatim 

现在,如果你打算在你的foreach循环复制<div>,您的问题是一个简单的CSS之一。根据需要调整宽度和高度。

[编辑]

您的代码发布后,我发表了我的评论。这里是我会写代码来解决你的工作通过问题:

<?php 
if($results): 
?> 
    <div class="container"><!--You seem to only need one container--> 
    <?php 
    foreach($results as $blog): //Consider using the colon format (alternate syntax for control structures) for clarity 
    if($blog->role == 'student'): 
    ?> 
     <div class="alert alert-success alert-dismissable"> 
     <a href="<?=base_url('main/delete/'.$blog->replyid)?>" class="close" data-dismiss="alert" aria-label="close">×</a> 
     <?=$blog->reply.$blog->sent?> 
     </div><!--Added this--> 
    <?php 
    //Note: "<?=" in php is the same as "<?php echo" 
    endif; 

    if($blog->role == 'guidance'): 
    ?> 
     <div class="alert alert-danger alert-dismissable"> 
     <a href="<?=base_url('main/delete/'.$blog->replyid)?>" class="close" data-dismiss="alert" aria-label="close">×</a> 
     <?=$blog->sender.':'.$blog->reply.$blog->sent?> 
     </div><!--Added this--> 
    <?php 
    endif; 
    endforeach; 
    ?> 
    </div> 
<?php 
endif; 
?> 

你的主要问题是你的主容器必须是循环外。如果我错了,用清晰的语法编写代码将会提高代码的可读性,并且使得移动元素变得更加容易。我选择了另一种控制结构if():endif;来更清楚地区分PHP逻辑和HTML输出。

+0

是的,我想尝试一下,但是我的代码的一致性处于危险之中,因为您可以看到我使用了很多php打开和关闭标记来避免单引号方法。 –

0

我根据您提供的信息给出答案。

它可以为你的作品...

请忽略数组$结果。

<?php 
$results[0] = json_decode(json_encode(array(
     'concern' => 'hehehe', 
     'sent' => '2017-10-11 08:36:09', 
     'flag' => 1, 
     'adflag' => 1, 
     'role' => 'student', 
     'stud_delete' => 0, 
     'gui_delete' => 0, 
     'replyid' => 118, 
     'blogid' => 16, 
     'sender' => 'Alfred Santos Angeles', 
     'username' => 201410165, 
     'reply' => 'oo' 
    ))); 

echo '<div class="container">'; 
if($results){ foreach ($results as $blog) { if($blog->role == 'student')echo ' 
     <div class="alert alert-success alert-dismissable"> 
      <a href="'.base_url('main/delete/'.$blog->replyid).'" class="close" data-dismiss="alert" aria-label="close">×</a>'.$blog->reply.$blog->sent.' 
     </div>';if($blog->role == 'guidance') echo ' 
     <div class="container"> 
      <div class="alert alert-danger alert-dismissable"> 
       <a href="'.base_url('main/delete/'.$blog->replyid).'" class="close" data-dismiss="alert" aria-label="close">×</a>'.$blog->sender.':'.$blog->reply.$blog->sent.' 
      </div> 
     </div>';}} echo ' 
    </div>';?>