从查询结果中选择第一行下一秒等

时间:2014-03-12 22:22:49

标签: php mysql ajax

我正在使用HTML ajax和PHP构建一个quizz游戏。

我正在寻找像分页这样的东西,首先显示第一个问题,然后是第二个,第三个,等等

从查询结果中选择第一行并保存已回答的问题的最佳方法是什么,接下来是secund问题等等? 我应该使用json obect来操作查询结果吗?

我的ajax看起来像这样:

  

jQuery的(文件)。就绪(函数(){

      jQuery('.norma').on('click', function(){
                        var dados = jQuery( this ).serialize();
                        jQuery.ajax({
              type: "POST",
              url: "quizz_gen.php",
                                dataType:"text",
              data: { norma: $(this).attr("name") },
              success: function( response )
              {
                                   $("#resp").html( response );
                                }
                            });
          return false;
     

});   });

这是我的php:

 $sql="SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2,
 opcao3, opcao4, nome_tema, nome_assunto FROM quizz ORDER BY RAND( )
 LIMIT 10";

 $query = mysql_query($sql);  while ($row = mysql_fetch_array($query))
 {
     echo utf8_encode($row['questao_id']) . "<br>";    
     echo utf8_encode( $row['nome_tema']). "<br>";    
     echo utf8_encode($row['nome_assunto']). "<br>";    
     echo  utf8_encode($row['titulo_pergunta']). "<br>";    
     echo  utf8_encode($row['opcao1']). "<br>";    
     echo  utf8_encode($row['opcao2']). "<br>";    
     echo  utf8_encode($row['opcao3']). "<br>";    
     echo  utf8_encode($row['opcao4']). "<br><br><br><br>";    
}

2 个答案:

答案 0 :(得分:0)

表格MySql文档LINK

LIMIT子句可用于约束SELECT语句返回的行数。 LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(使用预准备语句时除外)。

使用两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为0(不是1):

SELECT * FROM tbl LIMIT 1,3;  # Retrieve rows 1-3

现在只需添加order by子句并检索您想要的行。

在Ajax调用期间提及您当前的问题ID。 并在PHP中获得下一个问题

答案 1 :(得分:0)

你可以试试这个

SELECT * FROM table_name LIMIT $page*$number_of_rows,$number_of_rows

在上述情况中,您应该将当前页码和要显示为输入的行数分页。如何工作,LIMIT 0,10表示选择前10行。如果你想看下一页,你应该传递$ page = 1和$ number_of-rows = 10。所以它适用于LIMIT 1 * 10,10 ..等等。那就是..