PHP - 通过URL加载变量

时间:2013-09-10 16:21:47

标签: php fancybox

我无法理解我正在尝试开发的网站上的概念(我对PHP相对较新,所以它需要一段时间)。

基本上,我在PHP变量中有一些html内容,我想在点击链接时在灯箱中输出。

目前,其工作原理如下 -

echo '<a class="fancybox" id="inline" href="#data' . $limit . '">Read more</a>' ;  

echo '<div style="display:none"><div id="data' . $limit . '"><h2 class="innertitle">' . $item['linktitle'] . '</h2>' . $item['descriptionfull'] . '</div></div>';

所以这里发生的是变量加载到页面上的div中,这对最终用户是隐藏的,单击链接然后使用Fancybox将这些数据加载到灯箱中。这很有效,但随着网站上文章数量的增加(以及它们描述的html),页面本身变得非常大,需要很长时间才能加载。

所以,如果可能,我想要实现的是获取'read more'链接指向网站上的另一个php文件,加载时会动态引入php变量。这样可以保存描述性变量,使其无法加载到主页面上,因此只应在单击相关的readmore链接时加载。

这可能吗?欢呼声。

4 个答案:

答案 0 :(得分:4)

由于您使用的是fancybox,您已经在使用jQuery,因此您可以使用jQuery ajax来实现您的目标。

选中此jQuery Ajax POST作为参考。

答案 1 :(得分:0)

您想要实现的目标(动态加载页面的一部分而不重新加载整个页面)确实是可能的。

这就是所谓的AJAX。

你应该读一下这个,因为它可能比你用php / javascript做的更复杂。

我建议你试试jquery

如果您现在发现它太复杂,唯一的解决方案是在您点击链接时重新加载整个页面,这样您就可以使用$ _POST数据重建您之前的页面。尽管如此,这对您的用户来说将更加无缝。

答案 2 :(得分:0)

jquery的ajax方法非常强大,可以根据需要处理所有内容。

在jquery中有各种方法可以根据你的要求执行AJAX调用,但所有这些都是jquery的ajax方法的同义词。

如果你想对所有这些东西使用ajax方法,你必须根据你的要求传递各种参数

 $.ajax({
    'url':you url,
    'type':request type,
    'data':your data,
    'success':success handler function,
    'error':error handler function,
    /*and many more*/
    )}

Ajax是一种异步通信机制,可以使用XMLHttpRequest(xhr)或jquery实现。

答案 3 :(得分:0)

尝试将echo语句放入格式化为打印行的单独文件中

lines.php

<?php
$line =  '<a class=\"fancybox\" id=\"inline\" href=\"#data' . $limit . '\">Read more</a>' ;  
$line .=  '<div style=\"display:none\"><div id=\"data' . $limit . '\"><h2  class=\"innertitle\">' . $item['linktitle'] . '</h2>' . $item['descriptionfull'] . '</div> </div>';

?>

然后您可以根据需要包含行文件。这使得行文件可重用,并且打印页面更易于阅读

<?php

include("lines.php");

echo $lines ;

?>

我希望这能回答你的问题