-2
こんにちは、まずスクリプトをチェックしてください。私のForループで "-1"が必要な理由
for($x = 0;$x<=count($outlet);$x++)
{
echo $x." insert into arealeader
(
[Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate])
values ('$generatecode[$x]','$outlet[$x]','$leader[$x]','$chief[$x]','$regionalmanager[$x]','$periode','1','$nip_login','$DateNow->time'
)<br>";
}
私の問題は、フォームからコンセントを2つだけ挿入するときです。結果には3行が表示されます。しかし、それは正常に動作します私はこのfor($x = 0;$x<=count($outlet)-1;$x++)
結果を行う際
0 insert into arealeader ([Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) values ('K','CF-LBS','','4141413','9191','','1','1602762','2016-04-29 10:09:56.640')
1 insert into arealeader ([Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) values ('L','K-ATR2','','4141413','9191','','1','1602762','2016-04-29 10:09:56.640')
2 insert into arealeader ([Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) values ('0','','','','','','1','1602762','2016-04-29 10:09:56.640')
echo count($outlet)
結果は、あなたがこの状態でx
で一度echo
を実行後0にx
を初期化している2
php配列はインデックスが '0'です。したがって、 '$ array = [1,2,3]'の基本配列は 'count($ array)'の '3'を持ちますが、インデックスは' 1,2,3'ではなく '0,1,2'です。あなたのループで '-1'を使用して' 0'インデックスの数を取得します。 '3'の代わりに' 2'を使います。 – Sean
@Seanさて、それ以上のことは... $ x
deceze
または単にforeach()を使ってphpにインデックスの処理をさせてください –