2017-08-09 7 views
1

私は$s=(2+$len)を設定しました。だから私がクリックすると、開始の値は4になり、それをクリックすると自動的に6/8になります。どのように私は2つの値を連続的に計算することができます

$number=array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'j'); 
$start=2; 
$len=2; 
$s=(2+$len); 
foreach ($number as $value) {  
    print_r($value) ; 
} 
echo '<br>'.'<br>'; 
if (isset($_GET['start'])) 
    $start= $_GET['start']; 
foreach (array_slice($number,$start,$len) as $k){ 
    print_r($k); 
} 
echo '<br>'.'<br>'; 
echo '<a href="http://192.168.1.6/alpha.php?start='.$s.'&len=2"> 
continue</a>'; 
+4

そこで質問は何ですか? – Ayushya

+0

関数を書く。 – Carcigenicate

+0

増分のためにセッションを使用する –

答えて

0

あなたは(そして、あなたはURLを変更することで何かを「スキップ」することはできません)セッションを使用することができますが、あなたはすでに(あなたのターゲットURLがalpha.php?start=' . $s . '&len=2あると見て)このため$_GETを使用し始めているように思えます。 URL内のパラメータが設定されている場合、$len$sの両方を$_GETから設定する必要があるようです。

2つの変数が$_GETあなたが既に持っているを使用して、次の

$len = isset($_GET['len']) ? (int)$_GET['len'] : 2; // This means that you 'can' drop &len=2 from the link 
$s = isset($_GET['start']) ? (int)$_GET['start']+2 : 2; // This ensures that you always increment it by 2 
0

セット$start = 2;に変更する必要があります...

$number=array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'j'); 
//Start is now what is in $_GET if it is set or 2 
$start = isset($_GET['start'])) ? $_GET['start'] : 2; 
$len = 2; 
$s = (2 + $len); 

foreach($number as $value) { 
    print_r($value); 
} 

echo '<br />' . '<br />'; 

if (isset($_GET['start'])) $start = $_GET['start']; 

foreach(array_slice($number, $start, $len) as $k) { 
    print_r($k); 
} 

echo '<br />' . '<br />'; 
echo '<a href="http://192.168.1.6/alpha.php?start=' . $s . '&len=2">continue</a>'; 
?> 
関連する問題