Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php轮询循环查询_Php - Fatal编程技术网

php轮询循环查询

php轮询循环查询,php,Php,我想分步骤进行多问题投票。 我希望问题按顺序一个接一个地显示,并从数据库中提取问题 我成功地从数据库中获取了一个问题。但我想让它工作的方式是,当用户点击提交一个问题时,它应该把用户带到下一个问题 $query = "SELECT qid, qtitle FROM questions where qid = $qid"; $result = mysql_query($query) or die("ERROR: $query.".mysql_error()); // if records are p

我想分步骤进行多问题投票。 我希望问题按顺序一个接一个地显示,并从数据库中提取问题

我成功地从数据库中获取了一个问题。但我想让它工作的方式是,当用户点击提交一个问题时,它应该把用户带到下一个问题

$query = "SELECT qid, qtitle FROM questions where qid = $qid";
$result = mysql_query($query) or die("ERROR: $query.".mysql_error());
// if records are present
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_object($result);

// get question ID and title
$qid = $row->qid;
    echo '<div id=ques>';
echo '<h2>'.$row->qtitle .'</h2>';
    echo '</div>';
$query=“从qid=$qid的问题中选择qid、qtitle”;
$result=mysql\u query($query)或die(“ERROR:$query.”.mysql\u ERROR());
//如果有记录
如果(mysql_num_rows($result)>0){
$row=mysql\u fetch\u对象($result);
//获取问题ID和标题
$qid=$row->qid;
回声';
回显'.$row->qtitle';
回声';
有人能帮我处理这种查询的循环和构造吗


我不想为问题制作单独的页面。

您可以将问题编号存储在论坛的隐藏字段中

if (isset($_POST["qnum"])) {
    $questionNum = (integer) $_POST["qnum"];
} else {
    $questionNum = 0;
}

$query = "SELECT qid, qtitle FROM questions where qid = $qid";
$result = mysql_query($query) or die("ERROR: $query.".mysql_error());
// if records are present
if (mysql_num_rows($result) > $questionNum) {
    for ($_i = 0; $_i < $questionNum; $_i += 1)
        $row = mysql_fetch_object($result);

    // get question ID and title
    $qid = $row->qid;
    echo '<input type="hidden" value="$qnum" />';
    echo '<div id=ques>';
    echo '<h2>'.$row->qtitle .'</h2>';
    echo '</div>';
}
if(isset($\u POST[“qnum”])){
$questionNum=(整数)$_POST[“qnum”];
}否则{
$questionNum=0;
}
$query=“从qid=$qid的问题中选择qid、qtitle”;
$result=mysql\u query($query)或die(“ERROR:$query.”.mysql\u ERROR());
//如果有记录
if(mysql_num_rows($result)>$questionNum){
对于($\u i=0;$\u i<$questionNum;$\u i+=1)
$row=mysql\u fetch\u对象($result);
//获取问题ID和标题
$qid=$row->qid;
回声';
回声';
回显'.$row->qtitle';
回声';
}

假设您是HTML表单。如果不是,您可以将它们存储在$\u会话变量中。

您可以将问题编号存储在论坛的隐藏字段中

if (isset($_POST["qnum"])) {
    $questionNum = (integer) $_POST["qnum"];
} else {
    $questionNum = 0;
}

$query = "SELECT qid, qtitle FROM questions where qid = $qid";
$result = mysql_query($query) or die("ERROR: $query.".mysql_error());
// if records are present
if (mysql_num_rows($result) > $questionNum) {
    for ($_i = 0; $_i < $questionNum; $_i += 1)
        $row = mysql_fetch_object($result);

    // get question ID and title
    $qid = $row->qid;
    echo '<input type="hidden" value="$qnum" />';
    echo '<div id=ques>';
    echo '<h2>'.$row->qtitle .'</h2>';
    echo '</div>';
}
if(isset($\u POST[“qnum”])){
$questionNum=(整数)$_POST[“qnum”];
}否则{
$questionNum=0;
}
$query=“从qid=$qid的问题中选择qid、qtitle”;
$result=mysql\u query($query)或die(“ERROR:$query.”.mysql\u ERROR());
//如果有记录
if(mysql_num_rows($result)>$questionNum){
对于($\u i=0;$\u i<$questionNum;$\u i+=1)
$row=mysql\u fetch\u对象($result);
//获取问题ID和标题
$qid=$row->qid;
回声';
回声';
回显'.$row->qtitle';
回声';
}

这是假设您是HTML表单。如果不是,您可以将它们存储在$\u会话变量中。

我的方法是将下一个问题id作为隐藏字段发布在表单上(我假设您有一个表单供用户输入答案?)

第一次加载页面时,您将没有问题id,因此您只需获取第一个问题id。然后在同一页面中,您将编写查询以获取下一个问题id。您将其放入隐藏字段:

<input type="hidden" name="questionID" value="<?php echo $nextID ?>">

我的方法是将下一个问题id作为隐藏字段发布在表单上(我假设您有一个表单供用户输入答案?)

第一次加载页面时,您将没有问题id,因此您只需获取第一个问题id。然后在同一页面中,您将编写查询以获取下一个问题id。您将其放入隐藏字段:

<input type="hidden" name="questionID" value="<?php echo $nextID ?>">

可能最简单的方法是列出页面上的所有问题,但隐藏除第一个以外的所有问题。当用户单击“下一步”时,它会隐藏第一个问题并显示第二个问题,依此类推

$query = "SELECT qid, qtitle FROM questions ORDER BY qid ASC";
$result = mysql_query($query) or die("Error: $query.".mysql_error());

while ($row = mysql_fetch_object($result)) {
    echo "<div class='question' id='$row->qid'><h2>$row->qtitle</h2></div>";
}

echo "<button type='button' id='button'>Next</button>";

可能最简单的方法是列出页面上的所有问题,但隐藏除第一个以外的所有问题。当用户单击“下一步”时,它会隐藏第一个问题并显示第二个问题,依此类推

$query = "SELECT qid, qtitle FROM questions ORDER BY qid ASC";
$result = mysql_query($query) or die("Error: $query.".mysql_error());

while ($row = mysql_fetch_object($result)) {
    echo "<div class='question' id='$row->qid'><h2>$row->qtitle</h2></div>";
}

echo "<button type='button' id='button'>Next</button>";