Php AJAX显示/隐藏内容

Php AJAX显示/隐藏内容,php,javascript,html,ajax,Php,Javascript,Html,Ajax,在任何人抱怨之前,我尝试过谷歌,但没有一个直截了当的答案或任何形式的教程 基本上,我的文章中有一个段落,然后是一个“阅读更多”的链接,它使用一些javascript显示了更多的内容,虽然最终这会减慢网站的速度,因为文章的其余部分都在那里,但只是隐藏起来了 所以我的问题是我应该如何设置一个AJAX/PHP来引入内容呢?我知道如何在mysql上设置一个数据库,我猜我需要在mysql中键入文章来存储它吗?很抱歉,如果我说的每件事都让人困惑,但我自己也很困惑……如果有人能为一个绝对的初学者解释一下我会很

在任何人抱怨之前,我尝试过谷歌,但没有一个直截了当的答案或任何形式的教程

基本上,我的文章中有一个段落,然后是一个“阅读更多”的链接,它使用一些javascript显示了更多的内容,虽然最终这会减慢网站的速度,因为文章的其余部分都在那里,但只是隐藏起来了

所以我的问题是我应该如何设置一个AJAX/PHP来引入内容呢?我知道如何在mysql上设置一个数据库,我猜我需要在mysql中键入文章来存储它吗?很抱歉,如果我说的每件事都让人困惑,但我自己也很困惑……如果有人能为一个绝对的初学者解释一下我会很好的,因为即使在几个小时的搜索之后,谷歌也不是我的朋友

我想我被误解了。上面的截图我已经完成了,但我现在想做的不是隐藏内容,然后点击显示,然后使用AJAX、数据库和php调用它

  • 在文章表中添加“PreviewCutoffIndex”或类似内容
  • 在页面加载时,显示截止索引之前的文章HTML/内容
  • 对于“阅读更多”按钮,将文章标识符放入属性中
  • 添加一个发出Ajax调用的单击处理程序,以加载本文的其余部分

  • 标记看起来像这样(“数据文章id”来自页面加载上的PHP):


    然后,PHP
    content.PHP
    应该根据
    $\u GET(“articleId”)

    返回文章剩余部分的文本(或者更可能的标记),即使您明确表示不想加载整篇文章,我仍然认为您应该:

    我敢肯定,在使用ajax获取每篇文章的其余部分时,您的服务器负载会更高,因为每个“阅读更多”操作都需要另一个请求

    另外,如果你正在压缩你的请求,多一点文本对请求的总体大小不会有多大影响


    如果您的文章导致页面加载缓慢,那么可以尝试查看(以5篇文章为一批显示20篇文章,而不是一次显示20篇文章)

    css中的ol'show/hide方法有什么问题

    请参见此了解一个非常高级的方法


    你是如何决定在哪里插入更多的阅读内容的?也许你可以在div上读到我的内容,然后切换到该div。对不起,我不太明白你想说什么。上面的屏幕截图是我已经做过的,我现在想做的是,不再将文章放在同一个HTML页面上,而是隐藏到c创建一种方法,使用AJAX、数据库和php将文章的其余部分导入。对于初学者,您可能需要将全文保存在数据库中,以及您的缩短版本。如果您只是将整个内容保留在数据库中,我能想到的唯一缩短它的方法是echo substr($articletext,0399)。”。。。"; 这将使服务器发送一个400字符长的文本,其中包含。。。最后。但这仍然需要一个完整的数据库。这不是我的事,但也许你在网上找不到好数据的原因是你做了一个微不足道的改变。它只是一个文本,没有太多的数据,我怀疑使用AJAX而不是隐藏它会对您的加载速度产生很大的影响。SQL查询将花费最长的时间,现在您正在添加另一个查询,这相当于另一个数据库查询,以及另一个服务器->客户端连接。我想我了解其中的大部分内容,但我如何编写PHP文件,因为这是我最努力解决的问题。。我会有一个名为“content.php”的php文件,然后在该文件中为每篇文章分配一个articleID(如果是这样的话,我该如何做),还是简单地为每篇文章分配一个不同的php文件?@box 1 file name
    content.php
    ——使用查询字符串参数指定特定的articleID,您可以使用它从MySQL表中检索文章。@box我不能发布mysqli查询语法,因为我对它不太熟练——但您知道,只要
    从articleid=%articleid
    $\u GET(“articleid”)的文章中选择文章内容即可
    您只需编写一个.php文件,从数据库中提取相关文本并进行回显。只有一个文件可以处理每一篇文章。
    <div>
        <?php echo $mysqlResult["articleContent"]; ?>
    </div>
    <a id="moreButton" data-article-id="<?php echo $articleId; ?>" href='#'>Read More</div>
    <div id="moreContent"></div>
    
    $("#moreButton").on("click", function(e) {
        e.preventDefault();
        var articleId = $(this).attr("data-article-id");
    
        // load article into "moreContent" div
        $("#moreContent").load("content.php?articleId=" + articleId);
    });