0

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

索引.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 变量”,但如果这不可能,我真的需要另一种解决方案来动态更改查询(甚至可能刷新)。

谢谢 :)

4

3 回答 3

2

你有很多东西要学,伙计!

首先查看 AJAX(如果您还不知道,包括 jQuery)。使用这两种方法,您都可以对网页上的内容进行“动态”调用/更新(不刷新)。第二次查看 PHP 'mysql_real_escape_string' 和 PDO 并了解什么是“SQL 注入”以更好地保护您的数据库和服务器。

于 2013-09-25T13:16:26.857 回答
1

终于修好了,谢谢各位大神帮忙!:)

索引.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();
于 2013-10-01T16:13:54.610 回答
0

您将需要使用 ajax(和 JSON 才能做好),这里有代码示例:

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

于 2013-09-25T13:10:25.593 回答