2012-04-07 2 views
1

私は行き詰まった。私は結果を出さずに3週間これについて作業してきました。私は次をクリックすると、配列リストからランダムなPHPページを開く

私は10のphpページ(1.php,2.php、...、10.php)と開始ページ(start.php)を持っています。

私がやりたかったのは、10ページを繰り返しなしでランダム化することです。start.phpの「次へ」をクリックすると、10ページのうち1ページに移動する必要があります(たとえば、4.php)。 4.phpで「次へ」をクリックすると、4.phpを除き10ページ内の別のページにリダイレクトされます。

すべての数字(1.php - 10.php)が表示されるまでこれを続ける必要があります。この時点で、再度ランダム化する必要があります。最後の数字「.php」の「next」をクリックすると、番号がランダム化され、ランダムリストの最初に戻ります。

は、ここで私がこれまで持っているものです。

start.php

<?php $vidcount = 1; ?> 
<? include ("source.php"); ?> 
<a href="$nextvid[$vidcount].php">next page</a> 

source.php

<?php 
include ("start.php"); 

$numbers = range(1, $total_songs); 

if(($vidcount == $total_songs)||($vidcount == 1)){ 
shuffle($numbers); 
$vidcount = 1; 
} 

$nextvid[1] = $numbers[0]; 
$nextvid[2] = $numbers[1]; 
$nextvid[3] = $numbers[2]; 
$nextvid[4] = $numbers[3]; 
$nextvid[5] = $numbers[4]; 
$nextvid[6] = $numbers[5]; 
$nextvid[7] = $numbers[6]; 
$nextvid[8] = $numbers[7]; 
$nextvid[9] = $numbers[8]; 
$nextvid[10] = $numbers[9]; 
?> 

1.php2.php、... 10.php

<?php 
include("source.php");?> 
<?php echo $vidcount; ?> 

<a href="testrun[<?php echo $nextvid[$vidcount]; ?>].php">next page</a> 
<?php $vidcount++;?> 

1.php - 10.phpは同じコードを持っています。私はsource.phpを持っています。これは、表示されている番号を追跡し、すべての番号が表示されたときに再シャッフルすることになっています。

助けてください。私は私が得ることができるどんな助けにも大いに感謝します。

あなたは上記のコードを使用する必要はありません。私が動作するコードがある限り、別のアイデアを持っていれば、最初から始めても構いません。

答えて

3

まず、ファイルが1つだけの場合は10個、URLが?id=Xの場合はどうですか?しかし、それは気にしないでください。

セッション変数を使用することをお勧めします。このようなもの:

<?php 
    session_start(); 
    if(!isset($_SESSION['sequence']) || !$_SESSION['sequence']) { 
     $_SESSION['sequence'] = shuffle(range(1,10)); 
    } 
    $next = array_shift($_SESSION['sequence']); 
    // now use $next to create your "Next page" link. 
?> 
+0

お返事ありがとうございます。私はロードする新しいページを得ることができる唯一の方法だったので、私は10のファイルがあります。 FYI私はPHPをうまく使いません。私が取り組んでいるプロジェクトのために学び始めました。 – user1319682

+0

Kolink、あなたが提供したコードを私のものに組み込む方法はあまりよく分かりません。あなたはこれで私と一緒に仕事をしてくれますか?私はあなたに少しpaypalを介して贈り物をお送りします:)私のメールsolow01(at)gmail.comです – user1319682