在不刷新的情况下更改MySQL中的LIMIT

时间:2013-09-25 12:59:11

标签: php jquery mysql ajax

所以基本上我想要的是当你点击链接时,我的MySQL查询中的 $ limit 变量应该增加10而不刷新页面。我知道有很多类似的问题,但我无法解决。

的index.php

<?php  
$limit = 10;  

mysql_connect("localhost", "root", "");
mysql_select_db("database");

$query = mysql_query("SELECT * FROM news ORDER BY news_id DESC LIMIT $limit");       
?>

<a href="#" id="more">Show more...</a>

javascript.js

$('#more').click(function(){
    //Now here some jQuery / AJAX that changes the PHP $limit variable?
});

这有可能吗?我知道Javascript在客户端和服务器端的PHP上,而我的MySQL是最新的,因此查询中的变量可以工作。标题可能是'如何使用jQuery更改PHP变量',但如果这不可能,我真的需要另一个解决方案来动态更改查询(甚至可能更新)。

谢谢:)

3 个答案:

答案 0 :(得分:2)

你有很多东西要学习配偶!

首先看看AJAX(包括jQuery,如果你还不知道)。通过这两种方式,您可以对网页上的内容进行“动态”调用/更新(无需刷新)。再看看PHP的'mysql_real_escape_string'和PDO,并了解“SQL注入”是为了更好地保护您的数据库和服务器。

答案 1 :(得分:1)

我终于修好了,谢谢你的帮助! :)

的index.php

<?php
$limit = $_POST['limit'];

include('/connect_db.php');

$sql = "SELECT * FROM news ORDER BY news_id DESC LIMIT $limit";
$sth = $dbh->prepare($sql);
$sth->execute();
?>

<a href="#" id="more">Show more...</a>

javascript.js

var limit = 10;

$('#more').click(function() {
    limit += 10;

    ajax();

});

var news = document.getElementById('news');

function ajax() {
    $.ajax({
    url: 'index.php',
    type: "POST",
    data: {limit: limit},
    success: function(data){
        news.innerHTML = data;
    },
    error: function(jqXHR, exception) {
              if (jqXHR.status === 0) {
                   alert('Not connect.\n Verify Network.');
               } else if (jqXHR.status == 404) {
                   alert('Requested page not found. [404]');
               } else if (jqXHR.status == 500) {
                   alert('Internal Server Error [500].');
               } else if (exception === 'parsererror') {
                   alert('Requested JSON parse failed.');
               } else if (exception === 'timeout') {
                   alert('Time out error.');
               } else if (exception === 'abort') {
                   alert('Ajax request aborted.');
               } else {
                   alert('Uncaught Error.\n' + jqXHR.responseText);
               }
           }
    }); 
}

ajax();

答案 2 :(得分:0)

你需要使用ajax(以及JSON以获得一份好工作),你可以在这里找到代码示例:

http://www.lennu.net/2012/06/25/jquery-ajax-example-with-json-response http://www.jquery4u.com/json/ajaxjquery-getjson-simple