2011-07-10 8 views
0

私はユーザーからの投稿を取得し、それらを表示するwhileループを持っています(下記)。私は記事の下にコメントを表示できるようにしたいと思います。問題は、ポストがwhileループを介して生成されることです。各投稿の下にコメントを生成するには、whileループを埋め込む必要があります。これが可能かどうか、あるいは正しいアプローチがわかりません。どんな助けもありがとうございます。埋め込まれたwhileループが悪いですか?

コード:ネスティングはほとんど常にその深いネスティングを除いて、行くことができますどのように深く指定するルールがない

<?php 
$get=mysql_query("SELECT * FROM table WHERE id='$id' ORDER BY rank DESC"); 
    while ($row=mysql_fetch_assoc($get)){ 
      $post=$row['post']; 
      echo "<div class='postcontainer'>$post</div>"; 
      echo //i need the comments to go here 
      } 
    ?> 
+3

実際に 'while'ループをネストすることはできますが、最初にビューからデータベースを分離します。 – icktoofay

+1

ループ内に別のクエリを追加してコメントを取得することができます – Ibu

+0

コメントはどこに保存されていますか?同じテーブルですか?そして、あなたは '$ row [comment]'のようにそれらにアクセスすることができます – Eric

答えて

2

は、ソフトウェアでの設計上の欠陥を示しています。あなたがしようとしていることの記述は、そのような設計上の欠陥の1つではありません。運が良かった。

1

whileループをネストしないようにする理由はなく、多くの操作では推奨される方法です。私は実行可能なコードが5または6ループ深く行くのを見ました。唯一の違いは、大量のデータの場合、効率をO(n)からO(n^2)に増やすので、遅くなることです。

私は常にそれが最初に働くように、それを2番目に最適化する方法で行っています。

1

はい、どのタイプのループもPHPにネストすることは非常に可能です。実際、一般的なバブルソートに使用されるアルゴリズムでは、ネストループを使用します。だから、何の心配もなくそこ

http://en.wikipedia.org/wiki/Bubble_sort

。それはしかし注意が必要です...

クイック検索は、PHP

http://www.metalshell.com/source_code/118/Bubble_Sort.html

また、私は数年のためにプログラミングされていると私はいくつかの深くネストを使用している中でコード化されたバブルソートの手の一例を示していますPHPでのループ...ナビゲーションツリーによく使用され、最近では、どのアイテムが出荷されるボックスに収まるかを把握するスクリプトが使用されています。

関連する問題