0

HTMLレイアウトに3つの列/div/セクションがあるとしましょう。それらをcat1、cat2、cat3と呼びましょう。次に、「Content」というテーブルを持つデータベースがあります。そのテーブルには、id、title、content、category のフィールドがあります。

ここで、これら 3 つの列に、mysql テーブルの対応するコンテンツを入力したいと考えています。たとえば、カテゴリ = cat1 (最初の列に対応) のテーブルからすべてのコンテンツを取得します。

それぞれ独自のパラメーターを持つ 3 つの関数を作成することもできますが、コードを繰り返したくありません。単一の関数でこれを行うにはどうすればよいですか?ただし、別のパラメーターを使用するだけですか?

私は次のようなことを考えていました:

public function displayAll_with_category ($category) {
  $sql = $con->prepare("SELECT * FROM Table WHERE Category=?");
  $sql->bindParam(1, $category);
  $sql->execute();
  while ($row = $sql->fetch()) {
    echo $row['Title'];
  }
}

次に、私のHTMLで:

<div id="cat1">
  // Using a central class
  <?php include('class.php'); $obj = new handler; $obj->displayAll_with_category(); ?>
</div>

これまでのところ、同じ関数を使用して cat1/2/3 のコンテンツを呼び出すことができるように、$category パラメーターを何らかの方法で変更できるようにする必要があります。通常、ボタンまたはフォームを介して PHP 関数に何かを送信する必要がありますが、今回はそうではありません。これは純粋なPHPでも実行できますか? これを AJAX で行うことも考えられますが、今のところ、PHP で実行できるかどうかを知りたいと考えています。

4

1 に答える 1

0

これがあなたの望むものかどうかはわかりません。

これにより、カテゴリ1、2、および3のデータが取得されます。ビューにループを作成して、さまざまなパラメーターを使用して関数を呼び出します。

<?php
for($cont = 0; $cont<4; $cont++){
?>
<div id="cat1">
  // Using a central class
  <?php include('class.php'); $obj = new handler; $obj->displayAll_with_category($cont); ?>
</div>
<?php
}
?>

ああ、もし私があなたなら、ロジックをビューから分離しようとします。関数の結果をビュー内で実行するのではなく、ビュー内に出力します。

于 2013-02-11T10:25:59.177 に答える