Web ページに単純なドロップダウン ボックスがあります。その中には、米国のすべての州があります。ユーザーが州を選択すると、ユーザーが選択した州にある会社のみを PHP スクリプトで (HTML として) 返すようにしたいと考えています。
次のような csv ファイルがあります。
stateId,company,contact,phone,when,addy1
3,abc mining,George,555-555-1234,june 6 2012,"Bronx,NY"
2,xyz mining,Fred,555-555-2345,june 7 2012, "ワシントン州シアトル"
0、私の会社、私、555-555-3456、2012 年 6 月 8 日、"オレゴン州ユージーン"
3、あなたの会社、あなた、555-555-4567、2012 年 6 月 9 日、"ニューヨーク州ブロンクス"
そして何度も何度も....
上記を使用して、HTML テーブルを介して、stateId = 3 のデータ (または csv の行) のみを返します。
だから... fgetcsvを使用する多くの方法を見てきましたが、どうすれば上記の問題を達成できますか?
ドロップダウンの選択されたインデックス値を取得し、それを条件として渡し、各行を繰り返し、状態 ID が 3 のものだけを出力すると考えていました...
理想的には表に出力したいのですが、リストやストレートテキストでも構いません。
PHP は比較的新しいものです (調べてから 10 年以上経ちます...) - 本当に助けていただければ幸いです。
私は知っています...データベースの方が簡単ですが、csvを完全に制御しているため、当面はこのルートに進みます。
<?php
echo "<table>\n";
$row = 0;
$handle = fopen("mycsvfile.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ($row == 0) {
// column line
$num = count($data);
echo "<thead>\n<tr>";
$row++;
for ($c=0; $c < $num; $c++) {
echo "<th>" . $data[$c] . "</th>";
}
echo "</tr>\n</thead>\n\n<tbody>";
} else {
// non-header lines
$num = count($data);
echo "<tr>";
$row++;
for ($c=0; $c < $num; $c++) {
echo "<td>" . $data[$c] . "</td>";
}
echo "</tr>\n";
}
}
fclose($handle);
echo "</tbody>\n</table>";
?>
この時点でそれを失い始めます...これは単にすべてのデータを出力します-変数を介してユーザーが選択した状態のデータのみを表示し、選択されていない他の状態の行を出力しない必要があります。
strpos()、explode()、split() を使用しますか... 私は、php の経験がほとんどない dotNet プログラマーであり、学びたいと思っています。これは私の最初のプロジェクトです。私はphp関数/メソッドを知りませんし、使用したこともないので、それらに精通していません。;)
私は XAMPP を起動して実行しているので、完全に絶望的ではありません。