Php AJAX显示/隐藏内容
在任何人抱怨之前,我尝试过谷歌,但没有一个直截了当的答案或任何形式的教程 基本上,我的文章中有一个段落,然后是一个“阅读更多”的链接,它使用一些javascript显示了更多的内容,虽然最终这会减慢网站的速度,因为文章的其余部分都在那里,但只是隐藏起来了 所以我的问题是我应该如何设置一个AJAX/PHP来引入内容呢?我知道如何在mysql上设置一个数据库,我猜我需要在mysql中键入文章来存储它吗?很抱歉,如果我说的每件事都让人困惑,但我自己也很困惑……如果有人能为一个绝对的初学者解释一下我会很好的,因为即使在几个小时的搜索之后,谷歌也不是我的朋友 我想我被误解了。上面的截图我已经完成了,但我现在想做的不是隐藏内容,然后点击显示,然后使用AJAX、数据库和php调用它Php AJAX显示/隐藏内容,php,javascript,html,ajax,Php,Javascript,Html,Ajax,在任何人抱怨之前,我尝试过谷歌,但没有一个直截了当的答案或任何形式的教程 基本上,我的文章中有一个段落,然后是一个“阅读更多”的链接,它使用一些javascript显示了更多的内容,虽然最终这会减慢网站的速度,因为文章的其余部分都在那里,但只是隐藏起来了 所以我的问题是我应该如何设置一个AJAX/PHP来引入内容呢?我知道如何在mysql上设置一个数据库,我猜我需要在mysql中键入文章来存储它吗?很抱歉,如果我说的每件事都让人困惑,但我自己也很困惑……如果有人能为一个绝对的初学者解释一下我会很
标记看起来像这样(“数据文章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);
});