0

CSVファイルからHTMLで選択メニューを作成することはできますか?私はこれについてどうやって行くのか分かりません。

したがって、2つの列と複数の値を持つ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>

どこが間違っているのですか?

4

2 に答える 2

1

$data[$c][0]最初の列$data[$c][1]を返し、2番目の列を返します。したがって$data[$c]、列の正しい変数に置き換えるだけです。

于 2012-10-30T16:37:50.540 に答える
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>
于 2012-10-30T16:51:05.617 に答える