while(!! $ _ rerows = mysql_fetch_array($ _ show_repost、mysql_assoc)){s's 's’ s ’s – ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ grop2
を x 回実行し、単一のループ ステートメント 2 を y 回実行する必要があります
実行プロセスがループ ステートメント 1 を 1 回実行し、その後ループ ステートメント 2 を入力して最後までループし、その後に戻るかどうかを尋ねたいです。ループ文 1 本体のループを実行し、ループ文 1 を実行し、再度ループ文 2 のループに入り、最後までループします。ループ ステートメント 2 が実行され、合計 ) 関数は結果セットから行を連想配列、数値配列、またはその両方として取得します
結果セットから取得した行に基づいて配列を返します。結果セットがない場合は false を返します。さらに行を追加します。
しかし、mysql_fetch_array() を再実行するときに 2 番目を再入力することはできませんか?
二重ループのアルゴリズムの時間計算量は O(n*n) です
つまり、内側のループ本体は n (外側層) * n (内側層) 回実行されます
ただし、ネストされたループは冗長です。すべて同じリソース ($_show_repost) をループしています
したがって、外側の層は 1 回実行され、内側の層は n-1 回実行されます
while(!!$_rerows = mysql_fetch_array($_show_repost,MYSQL_ASSOC)){
2
Double ループのアルゴリズムの時間計算量は O(n*n )
つまり、内側のループ本体が実行されます n (外側の層) * n (内側の層) 回
。そのため、外側の層は 1 回実行され、内側の層はn-1 回実行される
申し訳ありませんが、前に間違って書きました。内部のクエリは別のものです
次に、内側の層 $_show_rerepost を再クエリするか、ラップアラウンドする必要があります
次に、内部の $_show_rerepost を次のようにする必要があります再クエリまたはラップアラウンド
モデレーター、これは、このようなループは実現できないという意味ですか?これを達成するための何か良い方法はありますか
あなたが何を計画しているのかさえわかりません?何か良い方法はありませんか
つまり、データベースに2つのテーブルを作成し、1つは返信情報、もう1つは返信に対する返信です。 ループステートメント1は、返信を1つずつ出力し、ループします。ステートメント 2 (if ステートメントを含む) は、この返信に返信がある場合、その返信の内容が出力されます。他の人がこの返信に返信した場合、その返信の内容が出力されます。 Baidu Tieba と同じように、返信が表示され、次の返信がループで出力されます。 返信機能も同様です
表 2 返信への返信
したがって、表 2 には、それを指すフィールドが存在する必要がありますfid であると仮定して、テーブル 1 の ID に変換します
したがって、次のようになります
$_show_repost = mysql_query('select * from Table 1' );
where($_rerows = mysql_fetch_array($_show_repost,MYSQL_ASSOC)) {
}
テーブル 1 の返信情報
テーブル 2 の返信
したがって、fid であると仮定すると、テーブル 1 の ID を指すフィールドがテーブル 2 にあるはずです
つまり、
があります
$_show_repost = mysql_query('select * from Table 1' );
where ($ _ReROWS = MySQL_FETCH_ARRAY ($ _ Show_repost, MySQL_ASSOC)) {
$ _show_rerepost = mysql_query ; Le While (!! $ _ REROWS = MySQL_FETCH_ARAY ($ _show_rerepost,MYSQL_ASSOC)){
}
}