我有這樣的代碼:通過遍歷CSV文件在PHP
<?php
$handle = fopen("GeneratePicklist.csv", "r");
$data = fgetcsv($handle, 5000, ",");
?>
開闢了一個PHP文件,並將其轉換成PHP數組。然後我將列出數組內容並將其顯示爲格式化的頁面。我有這個代碼,它的工作。
<?php
echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td class=\"dataHeader\" width=\"100\">Mat.Loc.</td>
<td class=\"dataHeader\" width=\"20\">Qty</td>
<td class=\"dataHeader\">Description</td>
<td class=\"dataHeader\" width=\"150\">Part Number</td>
<td class=\"dataHeader\" width=\"30\">Multiplier</td>
<td class=\"dataHeader\" width=\"80\">Total Qty</td>
</tr>
";
$locatePartNoString = array_search("Part Number",$data);
$arrayStart = $locatePartNoString-1;
end($data);
$lastField = key($data);
$counter = ($lastField - $arrayStart);
$arrayBegin = $locatePartNoString+6;
while($counter>0) {
echo "
<tr>
<td class=\"centered\"><span class=\"title\">*".$data[$arrayBegin+4]."*</span><br>".$data[$arrayBegin+4]."</td>
<td id=\"qty".$counter."\" class=\"centered\">".$data[$arrayBegin+1]."</td>
<td>".$data[$arrayBegin+2]."</td>
<td class=\"centered\">".$data[$arrayBegin]."</td>
<td class=\"centered\"><input type=\"text\" id=\"multiplier".$counter."\" name=\"multiplier".$counter."\" value=\"1\" size=\"3\" style=\"border:1px dotted #CCC;\"></td>
<td class=\"centered\"><input type=\"text\" id=\"total".$counter."\" name=\"total".$counter."\" value=\"1\" size=\"3\" style=\"border:1px dotted #CCC;\"></td>
</tr>
";
$counter--;
}
echo "</table>";
?>
我所試圖做的是通過CSV文件中的橫向和僅在$arrayBegin
變量的覆蓋面和我的CSV數據的最後部分選擇特定的數據。我已經完成了第一行和它的工作,但我不知道如何增加,所以我的指針移動到了CSV文件的下一行,並執行與我的第一行數據相同的公式。
這裏的CSV內容的樣品,7個領域:
ÊÊ,Part Number,Qty,Description,BB Type,Material Location,Serial Number
ÊÊ,013224-001,1,"PCA,DDR2-800,MINIDIMM MOD256MBx 40",BOM,ASSY,ID121608ZS
ÊÊ,122657-00A,1,SOFTWARE TEST (US M3 CTO),BOM,ASSY,
ÊÊ,376383-002,8,"ASSY, BLANK,SFF",BOM,ASSY,
ÊÊ,458943-003,1,"CA ASSY, SFP BATTERY, 15 POS, 28AWG, 24",BOM,ASSY,
ÊÊ,460499-001,1,"ASSY, 4/V650HT BATTERY CHARGER MODULE",BOM,ASSY,
ÊÊ,499256-001,2,"ASSY, BLANK,MEDIA BAY,ML350G6",BOM,ASSY,
ÊÊ,500203-061,2,"DIMM,4GB PC3-10600R,256Mx4,RoHS",BOM,ASSY,RAKWF8DXV2Q100
我只需要選擇每行的某些數據,然後移動到下一行。我如何使用while循環遍歷下一行?感謝您的未來回應。
使用for循環或foreach循環,而不是一個while循環。 –
或在while循環中移動您的搜索 – Oliver
@arxanas,感謝評論,但我真的不知道該怎麼做。我剛剛開始PHP。 – JudeJitsu