ホームページや他のページのトピック情報を表示するために使用した標準的なコードシーケンスがあります。私はインクルードファイルにそれを投げて、複数のページを修正する必要はありません。この問題は、while文で発生することがあります。これは、ソートのための情報を提供する以前のクエリがあったことを意味します。ファイルを複数回インクルードする方法
whileステートメントでコードが未処理の場合、それは必要に応じて動作し、前のクエリのコードに複数のIDが提供されている場合は、複数の結果が表示されます。ただし、このコードがインクルードに含まれている場合は、結果が1つしか表示されません。インクルードファイルは一度しか実行されないので、私は推測します。どのように私の生のコードと同等のインクルードファイルを提供するのですか?
は、このようにそれをしないでください
//outside query
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$topic_id=htmlspecialchars($row['topic_id'], ENT_NOQUOTES, 'UTF-8');
//code to display topics
include('display_topics.php');
}
生のコード
//outside query
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
//code to display topics
$sql = "SELECT * FROM topic WHERE id=?";
$stmt = $conn->prepare($sql);
$stmt->bindValue(1,topic_id, PDO::PARAM_INT);
$result=$stmt->execute();
}
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
//yada yada
機能として作成する - その目的の1つは、(おそらく)異なる引数を使用して複数回呼び出すことができるコードスニペットを実装することです。つまり、「コードの再利用」です。 – LazyOne
display_topics.phpを再構成して、実行するだけではなく、操作を実行するための関数を提供することはできますか? – qid