我在网页上有一个简单的下拉框。其中包括美国的所有州。当用户选择一个州时,我想让一个 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 日,“尤金,OR”
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()... 我是一个 dotNet 程序员,几乎没有 php 经验 - 我希望学习。这是我的第一个项目——所以放轻松!我不知道也没有使用过 php 函数/方法 - 所以我不熟悉它们。;)
我已经启动并运行了 XAMPP,所以我并不是完全没有希望。