2017-08-09 56 views
1

我已经设置了$s=(2+$len)。所以当我点击继续时,开始的值将是4,我希望它自动成为6/8,因为我再次点击继续。我怎样才能连续计算两个值

$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

那么什么是问题$start = 2;? – Ayushya

+0

编写一个函数。 – Carcigenicate

+0

使用会话增量 –

回答

0

您可以使用一个会话(那么你不能“跳过”通过更改URL任何东西),但似乎你已经开始使用$_GET这(为你的目标URL看到的是alpha.php?start=' . $s . '&len=2)。似乎如果设置了URL中的参数,则应该从$_GET设置$len$s

两个变量应该改变以下

$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

组使用$_GET你已经有...

$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>'; 
?>