是否可以从CSV文件中创建HTML格式的选择菜单?我不知道该怎么做。
所以我有一个包含两列和多个值的CSV,有没有什么方法可以用PHP循环CSV文件并输出HTML,到目前为止我已经尝试过了。
$row = 1;
if (($handle = fopen($_SERVER['DOCUMENT_ROOT']."/service/regions.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 133, ",")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
echo "<option value='".$data[$c]."'>".$data[$c]."</option>";
}
}
fclose($handle);
}
然而,这是给出以下输出,
<select>
<option value='AB'>AB</option>
<option value='Aberdeenshire'>Aberdeenshire</option>
<option value='AG'>AG</option>
<option value='Angus'>Angus</option>
<option value='AM'>AM</option>
<option value='Armagh'>Armagh</option>
</select>
我想要的是获得这样的输出,
<option value="AB">Aberdeenshire</option>
我哪里错了?
答案 0 :(得分:1)
$data[$c][0]
将返回第一列,$data[$c][1]
将返回第二列,依此类推。因此,只需使用列的正确变量替换$data[$c]
。
答案 1 :(得分:1)
你需要的只是
$handle = fopen(__DIR__ . "/service/regions.csv", "r");
echo "<select>";
if ($handle !== FALSE) {
$row = 0;
while ( ($data = fgetcsv($handle, 133, ",")) !== FALSE ) {
printf('<option value="%s">%s</option>', $data[0], $data[1]);
}
fclose($handle);
}
echo "</select>";
输出
<select>
<option value="AB">Aberdeenshire</option>
<option value="AG">Angus</option>
<option value="AM">Armagh</option>
</select>