0

すべてのコンテンツを一度にロードするスライダーがあります。divに。そのようです:

外部 page.php

$get_users = mysql_query("SELECT * FROM user WHERE id!='$user_id'"); 
while ($rows = mysql_fetch_assoc($get_users)) {
$id = $rows['id'];
$firstname = $rows['firstname'];

$display_info .= '
<div class="f_outer" id="' . $id . '">
    <div class="f_name likeu">' . $firstname . '</div>
</div>';
}
    echo $display_info;

bxslider を使用して、find.php ページからこのページを呼び出します。

これが私のfind.phpページです。

    <script type="text/javascript">
$(function() {
    var slider = $("#slider1").bxSlider();
    $("#slider-like").live('click', function() {
        slider.goToNextSlide();
        return false;
    });
    }); 
    </script>

    <div id="slider-like>Yes</div>
    <div id="slider1">
    <?PHP
    include ("external.php");
    ?>
    </div>

だから私が得たのは、find.php ページの .f_outer div のすべてです。何百人ものユーザーがいますが、それらはすべて一度にロードされます。一度に 1 つのスライドのみをロードしたいと思います。#slider-like をクリックすると、外部ページからダイビングの 1 つが読み込まれます。

4

1 に答える 1

0

を含めると、 からすべてのデータがexternal.phpロードされます。動的にロードする場合は、サーバーにファイルを含める代わりに ajax を使用する必要があります。JS または php セッションを使用して、現在のユーザーを追跡できます。前者の方が簡単だと思います:user

var nextUser = 0;
$(document).on('click', '#slider-like', function (e) {
   var slider = $("#slider1").bxSlider();
   $("#slider1").load("getuser.php?num=" + nextUser, function () {
      slider.goToNextSlide();
      nextUser++;
   });
   e.preventDefault();
});

次に、 ではgetuser.php、次のようになります。

$num = isset($_GET['num']) ? $_GET['num'] : exit;
$query = "SELECT * FROM user WHERE id != '$user_id' LIMIT $num,1";

$numこれはth ユーザーを照会し、 1 つの結果に制限します。

注:PDOまたはmysqliの代わりに使用する必要がmysql_*ます。との両方$user_id$numエスケープする必要があります。

于 2012-12-05T08:33:38.387 に答える