我目前正在开展一个旨在创建调查网站的项目。我的想法是,每次用户点击下一个时,都会出现一个新问题。 mysql数据库中的每个问题都有一个名为'q_order'的问题顺序(不确定这是否是最佳方法)。我试图在该单击上调用一个jquery函数,将索引增加1,然后将其发送到PHP文件,然后创建一个带有该索引号的查询。我在我的JS函数中使用它:
function sample2() {
pindex = pindex + 1;
$('#question').load('DBSurvey.php?index' + pindex);
}
在我的PHP中我有这个:
<?php
$user='***';
$pass='***';
try {
$dbh = new PDO('mysql:host=localhost;dbname=***', $user, $pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$index = 0;
$index = $_GET['index'];
$sth = $dbh->prepare('SELECT question FROM Questions where q_order=:index');
$sth->execute(array(":index" => $index));
$question = $sth->fetchAll();
$numRecords = sth->rowCount();
if($numRecords < 1)
echo "no records";
else
print_r($question);
?>
我的问题是什么都没有得到回应,我不知道为什么。有时我能够打印“Array()”,我认为这意味着它是一个空数组?我不确定为什么它会是空的,因为当我在我的mysql控制台中执行相同的prepare语句时,我得到了正确的结果。我想看看接下来麻烦拍摄我能做些什么?关于如何更好地设置它的任何建议?我是否走在正确的轨道上?提前谢谢。
答案 0 :(得分:1)
function sample2() {
pindex = pindex + 1;
$('#question').load('DBSurvey.php?index' + pindex);
}
错了。 GET参数应具有以下形式:?variable = value。你只是忘了添加“=”符号。
我不禁注意到的一件事是你使用pindex = pindex + 1;。您应该使用pindex ++来使代码更清晰。
最后你的功能应该是:
function sample2() {
pindex++;
$('#question').load('DBSurvey.php?index=' + pindex);
}