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> 

ここに問題があります。このスクリプトは1ページに最適ですが、まったく同じように見えるページがいくつかあり、唯一異なるのはデータベースから追​​加したコンテンツです。したがって、すべてのページで新しいスクリプトを作成するのを避け、代わりに上記で作成した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 に答える