-1

これは PHP の質問ではなく、一般的なプログラミングの質問ですが、私が現在使用しているのは PHP 言語です。

私が抱えているジレンマを紹介しますが、まだ解決策が見つかりません。答えを見るのは面白いでしょう。

完全なファイル (短い、jQuery がこれを読み込んでいます):

<?php
    require_once('../../../wp-blog-header.php');
    header('HTTP/1.1 200 OK');
?>
<br /><br /><br /><br /><br /><img id="quoteOne" src="http://www.1.co.uk/wp-content/themes/1/images/quote1.png">
    <span><?php
        query_posts(array(
            'cat' => 39,
            'order' => 'ASC', // ASC
            'orderby' => 'rand',
            'showposts' => 1,
            ));
        $wp_query->is_archive = true; $wp_query->is_home = false;
        if (have_posts()) : while (have_posts()) : the_post();
        the_content();
        //the_id();
        endwhile; endif;
        session_start();
        $_SESSION['i'] = the_id();
        $prev = $_SESSION['i'];
        //echo $_SESSION['i'];
        //$_SESSION['i']++;
    ?>
    <a href="#" style="color: #86a53e;" id="nextQu">NEXT QUOTE</span>
    </span>

PHP (問題のコード):

// the_id() returns current id of post
session_start();
$_SESSION['i'] = the_id();
$prev = $_SESSION['i'];

このスニペットの目的は、現在の ID が以前の ID と等しくないことを確認することです (重複が表示され、何も起こっていないように見えるのを防ぐため)。次のようなことを実行できる必要があります。

if($previous == $current){
    // try again
}

毎回リセットせずに保存する方法が見つかりません。これを行うプログラミングの方法はありますか?

このファイルは次の方法でロードされます: (別のファイル)

$('#testimonialContent').load('http://www.1.co.uk/wp-content/themes/1/testimonialPull.php');
4

1 に答える 1

0

何を求めているのか 100% 確信が持てませんが、これはあなたが求めているものですか?

session_start();
$prev = isset($_SESSION['i']) ? $_SESSION['i'] : null;
$_SESSION['i'] = the_id();

if ($prev == $_SESSION['i'])
{
    // whatever
}
于 2012-11-05T12:21:58.450 に答える