값은

2014-10-16 4 views
-1

의 index.php를 표시 할 수 없습니다값은

<?php 
$st = $pdo->query("SELECT * FROM post WHERE parent=0 ORDER BY no DESC"); 
$posts = $st->fetchAll(); 
for($i = 0;$i < count($posts); $i++){ 
    $st = $pdo->query("SELECT * FROM post WHERE parent={$posts[$i]['no']} ORDER BY no"); 
    $posts[$i]['child'] = $st->fetchAll(); 
} 
require 'd_index.php'; 
?> 

d_design.php :

foreach($posts as $post) { ?> 
<div class="post_parent"> 
    <h3>no:<?php echo $post['no'] . "Title:" . $post['title'] ?></h3> 
    <p><?php echo $post['name'] ?></p> 
    <p><?php echo nl2br($post['content']) ?></p> 
    <p><a href="form.php?no=<?php echo $post['no'] ?>">comment</a></p> 
    <p><small>posted:<?php echo $post['time'] ?></small></p> 


    <?php foreach($post['child'] as $child) { ?> 
    <div class="post_child"> 
     <h4>no:<?php echo $child['no'] . "Title:" . $child['title'] ?></h4> 
      <p><?php echo $child['name'] ?></p> 
      <p><?php echo nl2br($child['content']) ?></p> 
      <p><small>posted:<?php echo $child['time'] ?></small></p> 

    </div> 
    <?php } ?> 
</div> 
<?php } ?> 

내가 둥지 foreach를 원하지만이 코드에서, 두 번째 foreach($child)은 표시 할 수 없습니다.

+0

는 "캔트 표시"무엇을 의미합니까? 반복하지 않는다고? 아마 $ post [ 'child']'는 배열이 아니므로, 예상대로입니까? – arkascha

+0

'd_design.php'에서'$ post'를 확인하십시오. var_dump를 $ post 에 넣으려면'd_index.php' 파일이 필요하고'd_design.php'에는 putted 코드가 필요합니다. 나는 당신이 그 질문에 파일 이름을 넣는 것을 착각 한 그 같은 파일을 희망한다. – Poonam

답변

0

루프를 재귀 적으로 만들면이 작업을 수행 할 수 있습니다. 예 :

function loop_posts($posts) { 
 

 
    foreach($posts as $post) { 
 
    echo $post->name; 
 
    if (isset($post['child'])) { 
 
     loop_posts($post['child']); 
 
    } 
 
    } 
 
} 
 

 

 
loop_posts($posts);