Synology-Forum.nl
Overige software => Overige software => Topic gestart door: a.m.j.janssen op 08 augustus 2019, 22:11:41
-
Hoi,
Hoe kan ik in het volgende stukje PHP-script de 100 vervangen door een teller i die bijv van 1 tot 100 loopt?
WHILE $i<= 100 {
if (isset($_POST['dn100'])) { $dln_fase100="PL"; }
$i=$i+1;
}
Er moet dan het volgende uitkomen:
if (isset($_POST['dn1'])) { $dln_fase1="PL"; }
if (isset($_POST['dn2'])) { $dln_fase2="PL"; }
.
.
if (isset($_POST['dn100'])) { $dln_fase100="PL"; }
Ik krijg de juist syntax niet voor elkaar, PHP blijft maar schelden....
Alvast bedankt voor de tip.
Mvg
-
Met deze constructie moet je de loop counter wel $i=1 maken voor je de while-loop ingaat.
Anders is $i ongedefinieerd en crasht de while-loop.
Als het aantal malen dat je de loop moet doorlopen tevoren bekend is (zoals hier) kan je ook een for-next loop gebruiken.
Dan hoef je de loop-counter niet tevoren een waarde toe te kennen.
-
De while loop is niet goed. Iets met haakjes.
https://www.php.net/manual/en/control-structures.while.php
In geval van twijfel, raadpleeg de handleiding,
-
Hier een resultaat. Heb wat extras toegevoegd voor de duidelijkheid en omdat ik niet weet waar POST vandaan komt.
<?php
$y = 33;
$_POST['dn' . $y] = $y;
$i = 0;
while ( $i <= 100 )
{
if ( isset( $_POST['dn' . $i] ) )
{
echo 'post (' . $i . ') ' . $_POST['dn' . $i] . '<br />';
${'dln_fase'} . $i = "PL_" . $i;
break;
}
$i++;
}
echo 'Resultaat : ' . $_POST['dn' . $y] . ' : ' . ${'dln_fase'} . $i . '<br />';
?>
EDIT : code aangepast.
-
Hallo Wyodor,
ik ga het onmiddellijk proberen, je hoort van me of het is gelukt.
Alvast bedankt.