有人可以告诉我如何为不同的请求获取不同的条目吗?目前,无论请求是什么,代码仅显示第一个条目。
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
的呼号是home)。有人可以帮助我吗?
答案 0 :(得分: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));
?>
以下链接包含详细信息:
答案 1 :(得分:1)
以下行似乎将返回数组的一个值加载到变量$ page:
list($page) = $sth->fetch(PDO::FETCH_NUM);
也许尝试这样的事情,在PHP脚本的最后3行:
$resultsArray = $sth->fetch(PDO::FETCH_NUM);
$sth->closeCursor();
foreach ($resultsArray as $value)
{
echo $value."\n";
}
这将打印PDO fetch()方法返回的所有结果。
答案 2 :(得分:0)
可能是因为你的select语句中缺少where子句吗?
$sth = $dbh->prepare("SELECT * FROM data WHERE callsign=:page");
try {
$sth->execute( array(':page' =>$_GET['page']) );
}