Php JavaScript/jQuery是否要从MySQL加载更多内容?

Php JavaScript/jQuery是否要从MySQL加载更多内容?,php,javascript,jquery,Php,Javascript,Jquery,我在谷歌上搜索了如何做到这一点,我得到了以下链接: 这正是我想要做的,但是这对我来说相当混乱,所以我无法解决如何在我的当前文件中正确地实现它 我目前的问题如下 if (!$query = @mysql_query("SELECT * FROM confessions ORDER BY date DESC LIMIT 10")) { echo '<strong>Error:</strong> '.mysql_error().''; } else { ech

我在谷歌上搜索了如何做到这一点,我得到了以下链接:

这正是我想要做的,但是这对我来说相当混乱,所以我无法解决如何在我的当前文件中正确地实现它

我目前的问题如下

if (!$query = @mysql_query("SELECT * FROM confessions ORDER BY date DESC LIMIT 10")) {
    echo '<strong>Error:</strong> '.mysql_error().'';
} else {
    echo '<div id="posts">';
    while ($q = mysql_fetch_array($query)) {
        $id = $q['id'];
        $name = $q['confession'];
        $date = date("j M Y", strtotime($q['date']));
        echo '<div class="confession" ';
        echo '>';
            echo '<table>';
                echo '<tr style="width:700px;">';
                    echo '<td style="width:100px;font-weight:lighter;font-style:italic;font-size:95%;">'.$date.'</td>';
                    echo '<td style="width:600px;">'.$name.'</td>';
                echo '</tr>';
            echo '</table>';
        echo '</div>';
    }
    echo '</div>';
}
if(!$query=@mysql\u query(“按日期描述从自白订单中选择*限制10”)){
echo“错误:”.mysql_Error();
}否则{
回声';
while($q=mysql\u fetch\u数组($query)){
$id=$q['id'];
$name=$q[‘忏悔’];
$date=日期(“jMy”,标准时间($q['date']);
回声';
回声';
回声';
回显“.$date.”;
回显“.$name.”;
回声';
回声';
回声';
}
回声';
}
很明显,它只抓取了表中最后10行的数据,据我所知,我只需要一些JavaScript来记住限制,以及它抓取了多少,这样它就可以抓取下一批


有没有可能让somoene给我一个链接来帮助我解释更多,或者写一些代码(从我给的链接中)来帮助我?

你的查询:
SELECT*from坦白按日期顺序描述限制10
的限制语句10没有逗号。这意味着你只得到前10个结果


只要看下面的例子,你就会明白。

你的查询:
SELECT*FROM坦白按日期排序DESC LIMIT 10
的LIMIT语句10没有逗号。这意味着你只得到前10个结果

只需观看上面的示例,您就会明白。

解决问题 很明显,它只抓取了表中最后10行的数据,据我所知,我只需要一些JavaScript来记住限制,以及它抓取了多少,这样它就可以抓取下一批

好的,您的演示页面使用Javascript变量
ID
,将其发送到ajax\u more.php

有没有可能somoene可以给我一个链接来帮助我解释更多,或者写一些代码(从我提供的链接)来帮助我

这是没有必要的


澄清演示 演示的主页是
loadmore.php
,它创建了html页面,同时还列出了查询的第一批。它使用按钮(锚定链接,而不是链接框)存储最新的
ID
,在您的情况下,按钮的ID将是您的日期(注意:您的日期最好是唯一字段,否则您可能不会返回所有结果)

当用户单击“more”链接时,JavaScript获取其
id
,然后将其传递给
ajax\u more.php
,它在查询中使用该id,根据您发送的id获取自上次查询以来的下一批结果(SQL
order by
很重要)


更多
  • 正如@hakre所建议的,您所指的是“分页”,大多数数据库都有自己的分页实现,因此,如果您保持连接打开,则无需重新查询数据库。
    在mySQL中,您还可以提供长度和偏移量,因此,您可以存储已经检索到的记录的数量(称为偏移量),而不是存储ID和使用小于。例如:

    SELECT * FROM <your_table> LIMIT <offset>, <length>
    
    -- In Use:
    SELECT * FROM confessions LIMIT 40, 10
    -- 40 is the value that you passed to ajax_more.php via AJAX
    
    SELECT*FROM LIMIT,
    --使用中:
    从忏悔限制中选择*40,10
    --40是通过ajax传递给ajax_more.php的值
    
  • 警告:示例没有告诉您的是他们如何查询数据库的安全含义。您将用户输入(通过JavaScript)直接暴露到数据库中,而无需清理数据或使用任何特殊的参数传递。这是一个很大的安全漏洞,会让您面临SQL注入攻击,这些漏洞基本上是允许用户放置自己的SQL命令的漏洞,可以访问您的数据库,甚至整个系统

  • 解决问题 很明显,它只抓取了表中最后10行的数据,据我所知,我只需要一些JavaScript来记住限制,以及它抓取了多少,这样它就可以抓取下一批

    好的,您的演示页面使用Javascript变量
    ID
    ,将其发送到ajax\u more.php

    有没有可能somoene可以给我一个链接来帮助我解释更多,或者写一些代码(从我提供的链接)来帮助我

    这是没有必要的


    澄清演示 演示的主页是
    loadmore.php
    ,它创建了html页面,同时还列出了查询的第一批。它使用按钮(锚定链接,而不是链接框)存储最新的
    ID
    ,在您的情况下,按钮的ID将是您的日期(注意:您的日期最好是唯一字段,否则您可能不会返回所有结果)

    当用户单击“more”链接时,JavaScript获取其
    id
    ,然后将其传递给
    ajax\u more.php
    ,它在查询中使用该id,根据您发送的id获取自上次查询以来的下一批结果(SQL
    order by
    很重要)


    更多
  • 正如@hakre所建议的,您所指的是“分页”,大多数数据库都有自己的分页实现,因此,如果您保持连接打开,则无需重新查询数据库。
    在mySQL中,您还可以提供长度和偏移量,因此,您可以存储已经检索到的记录的数量(称为偏移量),而不是存储ID和使用小于。例如:

    SELECT * FROM <your_table> LIMIT <offset>, <length>
    
    -- In Use:
    SELECT * FROM confessions LIMIT 40, 10
    -- 40 is the value that you passed to ajax_more.php via AJAX
    
    SELECT*FROM LIMIT,
    --使用中:
    从忏悔限制中选择*40,10
    --40是通过ajax传递给ajax_more.php的值
    
  • 警告:示例没有告诉您的是他们如何查询数据库的安全含义。您将用户输入(通过JavaScript)直接暴露到数据库中,而无需Scrubi