これを見て笑う人もいると思いますが、fgetcsv がどのように機能するかを完全には理解していません。私が指摘している csv ファイルの内容を取得していることだけはわかっています。自動インクリメントがわかりません。関数の最初の数行で、今日のチェックリストが存在するかどうかを確認しています。そうでない場合は、作成した newChecklist 関数を呼び出してファイルを作成し、最初の行に入力します。
その後、fgetcsv とネストされた for ループを使用してセルごとにテーブル セルを作成しようとしています。
ネストされた for ループが問題を引き起こしていると思いますが、それらが相互作用する方法は奇妙です。出力は基本的に次のようになります。
-------- Line 1 --------
-------- Line 1 --------
-------- Line 2 --------
-------- Line 1 --------
-------- Line 2 --------
-------- Line 3 --------
-------- Line 1 --------
-------- Line 2 --------
-------- Line 3 --------
-------- Line 4 --------
-------- Line 1 --------
-------- Line 2 --------
-------- Line 3 --------
-------- Line 4 --------
-------- Line 5 --------
問題のコードは次のとおりです。
function viewCheckList($today){
if(!file_exists("QA_Checklists/FileName_QA_Checklist_".$today.".csv")){
newCheckList($today); //other function
}
$fp=fopen("QA_Checklists/FileName_Checklist_".$today.".csv",'r');
$line="";
$output="";
$output = "<table>";
for($x=0;$x<5;$x++){
$rQuickRef=fgetcsv($fp,1024);
$line.="";
$line.="<tr><td>";
for($i=0; $i<19; $i++){
$line.= $rQuickRef[$i];
$line.="</td><td>";
}
$line.="</td></tr>";
$output.=$line;
}
$output.="</table>";
echo$output;
}
?>