0

假设我的 html 布局中有 3 个列/div/部分,我们称它们为 cat1、cat2、cat3。然后我有一个数据库,其中有一个名为“内容”的表。在该表中,我有字段 id、title、content、category。

现在我想用我的 mysql 表中的相应内容填充这 3 列。例如 - 从 category = 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>

到目前为止一切顺利,我需要以某种方式更改 $category 参数,以便我可以使用相同的函数来调用 cat1/2/3 的内容。我不知道该怎么做,通常我需要通过按钮或表单向 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 回答