1

ページの最後で何かが発生した場合は、それをクリアする必要があり、クライアントに提供する前にページ全体を再解析する必要があります。ページを更新するためにJavaScriptをエコーアウトするつもりでしたが、ページをロードしてから再ロードすることになります... PHPエンジンに最初に戻って再読み込みするように指示する方法があるかどうか疑問に思っていました-ページ全体を解析しますか?

ありがとう!

問題をより明確に説明しようとしますが、複雑で、私はコミュニケーションが苦手です。製品を一覧表示するページで、フィールドを選択して結果を絞り込むオプションをユーザーに提供しています。システムはこれを記憶しているので、選択し続ける必要はありません。メタル カラーのようなカテゴリを絞り込んでから、クリスタル フィギュアのようにメタル カラーが無関係なカテゴリに移動すると、選択したメタル カラーに一致するものがないため、結果は表示されません。データベースから製品を取得するためのクエリを生成することは非常に複雑です。これは、正しい製品を見つけるための要件が​​カテゴリごとに異なるためです。したがって、クエリが生成されたら、それを mysql_num_rows() に対してテストしたいと思います。結果がない場合は、ユーザーの選択をクリアして最初からやり直します。

4

6 に答える 6

9

少しあいまいですが、単に出力の再解析について話しているのであれば、output bufferingを使用してそれを行うことができます。

于 2009-03-03T20:03:58.993 に答える
3

何が問題なのかよくわかりませんが、HTML を作成する前に何を表示するかを決めて、正しいものを最初に送信することはできませんでしたか?

于 2009-03-03T20:04:31.910 に答える
1

出力バッファリング (ob_start および ob_clean) と、手元にある機能を別のファイルに分離すること、および eval() を実行することを組み合わせます。

ああ、最近の PHP バージョンには実際にgotoステートメントがあります。:-)

于 2009-03-03T20:07:06.087 に答える
0

私はあなたがそれについて少し進んでいると思います。

ページを再解析するためにすべきことは、ユーザーを再度ページにリダイレクトすることです。

header('Location: thepagefile.php');

ただし、実際に新しいページを作成せずにファイルを再解析したい場合は、ファイルを再度含めることもできます。

pagefile.php を含める

しかし、おそらく同じ結果が得られるでしょう。ページの出力を実際に解析したい場合は、次のようにします。

ob_start(); // this is at the very top of the code/page
// all the code goes here
$output = ob_get_clean();
eval($output); // WTF?

実際には意味がありませんが、お役に立てば幸いです。

あなたが解決しようとしている本当の問題が実際に何であるかを実際に知りたいです。

于 2009-03-03T20:12:50.407 に答える