SMARTY二次サイクルアドバイス
うわー
コードは現在のロジックを表示するものですが、機能しませんでした
長い間 SMARTY を学習していません
テーブルが 2 つあります
forum_forum はディスカッション フォーラム ID、主に `name`、` fid`
forum_topic_type はディスカッション フォーラム ID のトピック分類です: 主に `typeid`、`name`、`fid`
もともと
私は最初に
forum_forum をすべてのセクションとともにリストし、それから Smarty の assign に追加しました
フロントデスクのすべてのセクションのリストに正常に表示されました
しかし、セクション名の下にあるこのディスカッションセクションの下にあるすべての「トピックカテゴリ」をサイクルアウトしたいのですが、
しかし、これらのことがわかりました(このテーブル forum_forum ) がフォアグラウンドで循環されています。 ループ結果の ID が既にテンプレートに含まれているため、ループ関連のトピック分類を取得できません
そこで、考えました...smarty を割り当てる前に、試してみてください。 foreach を実行して結果がどうなるか見てみましょう
それから、にマージできるかどうかを試してください 同じグループ番号を再度割り当てるのは少し不便なようです
そこで、先輩方にアドバイスを求めたいです
解決策考えたのですが
1. 複数テーブルのクエリをマージするのですが、サブジェクト分類が複数あるので諦めました
2. Smartyプラグインを作る、試してみましたが。それも行き詰まっていて前に進めません
実はSMARTYは二次循環の問題に長い間悩まされてきましたが、もはや避けては通れないようです、このことを十分に理解した上でアドバイスをお願いいたします。質問
アドバイスをお願いします。
ディスカッションに返信 (解決策)
質問もしてください
SMARTY を使用してモディファイアを作成すると、まったく機能しません
PDO を使用しています
$pdoのようなハンドル? しかし、この種のプラグインはテンプレートから直接呼び出され、$pdoをまったく追加できません
プラグインも追加してみましたが、データベースファイルは関数に導入されますが、データベースの操作が間違っていることも意味します
何か解決策はありますか? それとも、プラグインのこの部分がデータベースをまったく操作できないのでしょうか?
どのステップが失敗しましたか? $row_typeには価値がないのでしょうか?
1. テンプレート処理を通じて、クラス テーブルは結果セットを取得するためにサブクラス テーブルに関連付けられます。スマートな割り当ての後、テンプレートは 2 回循環されます。
2. プログラムを介したクエリ結果セットの処理: 結果セットを返し、プログラム内でそれを文字列にアセンブルし、それをテンプレートに直接割り当てます。
//所有版块@$row_fid = "SELECT * FROM `forum_forum` ORDER BY `displayorder` ASC";$stmt = $pdo->prepare($row_fid);$stmt->execute();$row_forum = $stmt->fetchAll(PDO::FETCH_ASSOC); //主题分类 foreach ($row_forum as $key => $value) { $fid = $value["fid"]; @$sql = "SELECT `typeid`,`name` FROM `forum_topic_type` WHERE `fid` = $fid"; $stmt = $pdo->prepare($sql); $stmt->execute(); $row_type = $stmt->fetchAll(PDO::FETCH_ASSOC); } print_r($row_type);$smarty -> assign("all_forum",$row_forum);
お兄さん、ありがとう
そういう意味ですありがとうございます、勉強になりました
まさに論理問題です
二次ループ問題のほとんどは今後解けるようです
ありがとう

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









FET 通貨は、AI 人工知能の分野での主要な通貨として、Fetch.ai プラットフォームで使用される定量的な分割可能なトークンであるだけでなく、プラットフォームのスマート コントラクトやオラクルの重要な部分。強気市場の到来により、FET コインの価格は上昇し続けていますが、投資家はこの市場動向にまだ満足していません。彼らは、FET コインがいつ再び高騰するのかを知りたいと考えています。また、通貨サークルのアナリストがFETコインの最大上昇をどれくらい予測しているか知りたいです。同サークルのアナリストの予測によると、2回目の高騰は2025年に起こり、最大値上がりは8.15ドルになるという。続いて編集者が詳しくお伝えします。 FETコインはどれくらいで二度目の高騰を経験するでしょうか?同界のアナリストらの予測によると、FET通貨は二度目の爆発を起こすだろう。

ラムダ式がループから抜け出すには、特定のコード例が必要です。プログラミングにおいて、ループ構造は頻繁に使用される重要な構文です。ただし、特定の状況では、現在のループ反復を終了するだけでなく、ループ本体内で特定の条件が満たされたときにループ全体から抜け出したい場合があります。このとき、ラムダ式の特性は、ループから抜け出すという目標を達成するのに役立ちます。ラムダ式は匿名関数を宣言する方法であり、内部的に単純な関数ロジックを定義できます。通常の関数宣言とは異なり、

注: この記事では、Go 言語の観点からループと再帰を比較します。プログラムを作成するとき、一連のデータや操作を繰り返し処理する必要がある状況に遭遇することがよくあります。これを実現するには、ループまたは再帰を使用する必要があります。ループと再帰はどちらも一般的に使用される処理方法ですが、実際のアプリケーションではそれぞれにメリットとデメリットがあるため、実際の状況を考慮してどちらの方法を使用するかを選択する必要があります。この記事では、Go 言語におけるループと再帰の比較研究を行います。 1. ループ ループとは、特定のコードを繰り返し実行する仕組みです。 Go言語には主に3つのタイプがあります

この記事では、PHP が配列のすべての値を返して配列を形成する方法について詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 array_values() 関数の使用 array_values() 関数は、配列内のすべての値の配列を返します。元の配列のキーは保持されません。 $array=["foo"=>"bar","baz"=>"qux"];$values=array_values($array);//$values は ["bar","qux"] になりますループを使用すると、配列のすべての値を手動で取得し、新しい値に追加できます。

Iterator インターフェイス Iterator インターフェイスは、コレクションを走査するために使用されるインターフェイスです。 hasNext()、next()、remove() などのいくつかのメソッドが提供されます。 hasNext() メソッドは、コレクション内に次の要素があるかどうかを示すブール値を返します。 next() メソッドは、コレクション内の次の要素を返し、それをコレクションから削除します。 Remove() メソッドは、コレクションから現在の要素を削除します。次のコード例は、Iterator インターフェイスを使用してコレクションを反復処理する方法を示しています。 Listnames=Arrays.asList("John","Mary","Bob");Iterator

Java 関数における再帰呼び出しの反復による置き換え Java では、再帰はさまざまな問題を解決するために使用される強力なツールです。ただし、場合によっては、反復を使用する方が効率が高く、スタック オーバーフローが発生しにくいため、より良いオプションになる場合があります。反復の利点は次のとおりです。 再帰呼び出しごとに新しいスタック フレームを作成する必要がないため、より効率的です。スタック領域の使用量が制限されているため、スタック オーバーフローが発生する可能性は低くなります。再帰呼び出しの代替としての反復メソッド: Java には、再帰関数を反復関数に変換するメソッドがいくつかあります。 1. スタックを使用する スタックを使用するのが、再帰関数を反復関数に変換する最も簡単な方法です。スタックは、関数呼び出しスタックに似た、後入れ先出し (LIFO) データ構造です。パブリックインファ

すべてのプログラミング言語はループから切り離せません。したがって、デフォルトでは、繰り返し操作があるたびにループの実行を開始します。しかし、多数の反復 (数百万行/数十億行) を扱う場合、ループの使用は犯罪です。数時間動けなくなって、後でそれがうまくいかないことに気づくかもしれません。ここで、Python でのベクトル化の実装が非常に重要になります。ベクトル化とは何ですか?ベクトル化は、データ セットに対する (NumPy) 配列操作を実装するための手法です。バックグラウンドで、配列または系列のすべての要素に操作を一度に適用します (一度に 1 行を操作する「for」ループとは異なります)。次に、いくつかのユースケースを使用して、ベクトル化とは何かを説明します。数値の合計を求めます##ループを使用します importtimestart

PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 開発中、配列の走査やデータベース クエリ結果の処理など、繰り返しのタスクを処理するためにループ ステートメントを使用することがよくあります。ただし、ループのネストを使用すると、無限ループやネスト レベルが多すぎるなどのエラーが発生することがあり、この問題によりサーバーのパフォーマンスが低下したり、クラッシュする可能性があります。このようなエラーをより適切に処理し、対応するエラー メッセージを生成するために、この記事ではいくつかの一般的な処理方法を紹介し、対応するコード例を示します。 1. カウンターを使用して、
