【问题标题】:SQL, php pdo and retreiving table rows [closed]SQL、php pdo 和检索表行 [关闭]
【发布时间】:2013-01-23 15:14:53
【问题描述】:

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

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

$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;');

...

【问题讨论】:

标签: php html sql pdo


【解决方案1】:

您可以通过 $_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);

【讨论】:

    【解决方案2】:
    • 添加一个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,然后将其包含在您的页面中。

    【讨论】:

    • 嗨@Dino Excel,如果这有帮助,请告诉我。
    猜你喜欢
    • 2015-09-02
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 2015-12-12
    相关资源
    最近更新 更多