0

我现在有一个非常大的问题,我找不到解决方案,所以我希望能得到一些帮助。

我正在使用以下查询从表中选择特定列

$stmt = $db->prepare('SELECT Info FROM Info;');
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);

然后我使用 php 输出它

<div id="two">
<?php
if(!$resTwo)
echo"No Content Available Yet..";
else
echo "<ul>";
foreach($resTwo AS $val) {
echo "<tr>";
foreach($val AS $val1) {
    echo "<td>$val1</td>";
  }
}
echo "</ul>";
$db = null; 
?>
</div> 

现在问题来了。该脚本适用于一页,但问题是我有几个看起来完全相同的页面,唯一不同的是我从 db.xml 添加的内容。因此,如果我可以避免在每个页面中编写一个新脚本,而是使用上面创建的 SELECT 的某种索引,我会更喜欢。

如果我想解决这个问题,我将不得不每页更改以下内容

$stmt = $db->prepare('SELECT Info FROM Info WHERE rowid = 1;');
$stmt = $db->prepare('SELECT Info FROM Info WHERE rowid = 2;');
$stmt = $db->prepare('SELECT Info FROM Info WHERE rowid = 3;');
$stmt = $db->prepare('SELECT Info FROM Info WHERE rowid = 4;');

...

4

2 回答 2

2

您可以通过 $_GET 或 $_POST 获取参数并在查询中使用它。看:

$var = $_GET['id'];
$stmt = $db->prepare('SELECT Info FROM Info WHERE rowid = :RowId');
$stmt->bindParam(":RowId", $var, PDO::PARAM_INT);
$stmt->execute(); $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
于 2013-01-23T16:36:09.220 回答
1
  • 添加一个php函数,在common.php中添加如下代码:

    <php    
    
    function getRowContentResultSet($rowId)
    {
    
        $stmt = $db->prepare('SELECT Info FROM Info WHERE rowid = :rowId');
        $stmt->execute(array(':rowId' => $rowId));
        $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
        return $res;
    }
    
    ?>
    
  • 将此函数 (common.php) 包含为所有页面(或页面组)的通用函数。

  • 然后在每个页面中以以下格式调用此函数。

    $resTwo = getRowContentResultSet($_GET['rid']);
    
  • 所有页面 url 都应包含一个 GET 参数“rid”示例:http: //yoursite.com/page.php ?rid=1

注意:我没有更改您的 html 部分。即使这样,您也可以放入一个通用的 template.php 并仅包含在您的页面中。

于 2013-01-23T16:35:21.390 回答