我正在尝试进行循环,它将显示表格中的所有记录。但我现在得到的结果是显示一个数据,表中的最后一条记录。如果我想让它显示表中的所有记录而不仅仅显示一个数据
,我该怎么办? $myFile = "testFile.txt";
$fo = fopen($myFile, 'w' ) or die ("cant open file");
$header = str_pad($rekod,0).str_pad($organisasi,5).str_pad($jabatan,40).str_pad($tarikh_kredit,8).str_pad($sec_code,16,"0").str_pad($filler,150)."\n";
$sql = "SELECT * FROM pengerusi_johor WHERE negeri='$negeri'";
$result = mysqli_query($db, $sql);
while($row = mysqli_fetch_array($result))
{
$detail = str_pad($rekod,0).str_pad($bank_code,7).str_pad($row['nombor_akaun'],16).str_pad($row['nama'],40);
}
fwrite($fo,trim($header).PHP_EOL.$detail);
fclose($fo);
答案 0 :(得分:0)
在你的代码中,每次循环时都会覆盖$detail
的值,而值为while。
您应该使用.=
将每一行追加到字符串
while($row = mysqli_fetch_array($result)) {
$detail .= str_pad($rekod,0).str_pad($bank_code,7).str_pad($row['nombor_akaun'],16).
str_pad($row['nama'],40);
}