2012-07-04 60 views
1

有人可以告訴我如何爲不同的請求獲取不同的條目嗎?目前代碼只顯示第一個條目,不管請求是什麼。動態獲取MySQL的特定內容

PHP

$dbh = new PDO("mysql:dbname=$db_name;host=$host", $username, $password); 
$sth = $dbh->prepare("SELECT * FROM data"); 
try { 
    $sth->execute(array($_GET['page'])); 
} 
catch(PDOException $e) { 
    die($e->getMessage()); 
} 
list($page) = $sth->fetch(PDO::FETCH_NUM); 
$sth->closeCursor(); 
echo $page; 

的Javascript + jQuery的

function getPage() { 
    var data = 'page=' + encodeURIComponent(document.location.hash); 
    $.ajax({ 
     url: "loader2.php", 
     type: "GET",   
     data: data,  
     cache: false, 
     success: function (html) {     
      $('#content').html(html); 
     } 
    }); 

的代碼應該工作的方式是一旦a href指指點點地說#home#otherpage被點擊,代碼加載從匹配內容我的數據庫通過它的呼號匹配鏈接href(例如#home的呼號在家)。有人能幫助我嗎?

回答

0

難道是由於條款凡在你的SELECT語句中失蹤?

$sth = $dbh->prepare("SELECT * FROM data WHERE callsign=:page"); 
try { 
    $sth->execute(array(':page' =>$_GET['page'])); 
} 
+0

我忘了提及,我在php編程中無能爲力......乾杯! – user1492450

1

我沒有看到任何綁定到表的任何部分列。請參考下面的例子:

<?php 
    $calories = 150; 
    $colour = 'red'; 
    $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit 
    WHERE calories < :calories AND colour = :colour'); 
    $sth->execute(array(':calories' => $calories, ':colour' => $colour)); 
?> 

下面的鏈接有細節:

http://php.net/manual/en/pdostatement.execute.php

1

看來,下面的行加載返回的數組變量$頁的一個值:

list($page) = $sth->fetch(PDO::FETCH_NUM); 

也許嘗試這樣的事情,而不是在最後3行的PHP腳本:

$resultsArray = $sth->fetch(PDO::FETCH_NUM); 
$sth->closeCursor(); 
foreach ($resultsArray as $value) 
{ 
    echo $value."\n"; 
} 

這將打印所有由PDO fetch()方法返回的結果。