如何成功重新加载包含的php页面?

时间:2011-11-28 23:56:17

标签: php javascript jquery include load

我有一个php页面,其中我想要包含另一个php页面,如下所示:

<?php
    include ("wrapper.php");
?>

它工作正常,但是当我点击一个div时,会触发这样的javascript函数:

function reloadNivoSlider () {
    $('#photo-show').fadeOut('slow', function () {
        $("#photo-show").load("nivo-slider/wrapper.php", function () {
            $('#photo-show').fadeIn('slow');
        })
    });
}

div淡出并淡入,并且nivo滑块永远加载。我试图删除动画,但同样的情况发生。我在wrapper.php中执行的MySQL请求可能是问题的原因吗?是否会阻止页面重新加载?我实际上不知道$()。load是如何工作的,但我认为它会重新加载页面,对吗?

wrapper.php文件是:

<body>
<div id="wrapper">

    <div class="slider-wrapper theme-default">
        <div class="ribbon"></div>
        <div id="slider" class="nivoSlider">
            <?php
                mysql_connect(localhost,"root","");
                mysql_select_db("fotos") or die( "Unable to select database");

                $select = "SELECT * FROM 2a_mostra_kineret WHERE id='0';";
                $query = mysql_query($select);
                $row = mysql_fetch_assoc($query);

                $i = 0;

                while ($i <= 7) {
                    $verify = 1;
                    $random = rand(0,7);
                    // First Execution
                    if ($i == 0) {
                        $path[$i] = $row["path"] . $random . ".jpg";
                    }
                    // Other Executions
                    else {
                        while ($verify != 0) {
                            for ($s = 0; $s < $i; $s++) {
                                if ($row["path"] . $random . ".jpg" == $path[$s]) {
                                    $verify++;
                                    break;
                                }
                            }
                            if ($verify > 1) {
                                $random  = rand(0,7);
                                $verify = 1;
                            }
                            else $verify = 0;
                        }
                        $path[$i] = $row["path"] . $random . ".jpg";
                        //echo $random;
                    }
                    $i++;
                }

                for ($i = 0; $i <= 7; $i++) echo "<img src=\"$path[$i]\" alt=\"\" width=\"800\" height=\"600\"/>";

                mysql_close();
            ?>                              

        </div>
        <div id="htmlcaption" class="nivo-html-caption">
            <strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>.
        </div>
    </div>

</div>
<script type="text/javascript" src="scripts/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="../jquery.nivo.slider.pack.js"></script>
<script type="text/javascript">
$(window).load(function() {
    $('#slider').nivoSlider();
});
</script>

2 个答案:

答案 0 :(得分:1)

不可能,ajax就是这样。检查链接http://api.jquery.com/jQuery.get/ http://api.jquery.com/category/ajax/

答案 1 :(得分:0)

请记住,PHP是在服务器上执行的。一旦将其发送到客户端,您就不能再使用任何PHP。如果您希望JavaScript从服务器“获取”新数据,则必须使用AJAX。