我是新来的编码和学习PHP这个世界。对于这个问题的近一周的研究,我几乎已经放弃了这个问题。希望能从专家那里得到一些很好的见解。在CSV文件中搜索一个字符串,输出包含它的所有行作为表格 - PHP
问题: - 我有一个有关服务器信息的CSV文件。例如:
ClientId,ProductName,Server,ServerRole,Webserver,DatabaseName
001,abc,Server1,Web,Webserver1,,
001,abc,Server2,Dabatase,,Database1
001,abc,Server3,Application,,,
002,abc,Server4,Web,Webserver2,,
002,abc,Server5,Database,,Database2,
我创建,其具有简单的HTML形式,这需要服务器名称作为输入,并调用写在一个被称为“的search.php”页面内的命令的HTML页面。我能够将用户输入从索引表单保存到变量罚款。但这是真正的问题。我想根据这个CSV文件搜索该变量,找到与该服务器相关的客户端名称(第1列)(应该与第3列匹配),然后打印该客户端的所有行。对于例如如果我输入“Server3”,我应该得到前三行作为表格形式的输出。我使用fgetcsv(),fgets()等,但我似乎并没有破解这个。到目前为止,我已经达到的最接近的是打印所有包含输入文本的行(并且不以表格形式)。任何帮助解决我的问题将不胜感激。
这里是我到目前为止的代码:
<?php
$name = $_POST["search"];
echo "You have searched for the server <b>$name</b>";
$output = "";
$fp = fopen("D:\VMware\DSRM\Servers\Servers.csv", "r");
// Read file
$txt = fgets($fp);
while (!feof($fp)) {
// Search for keyword
if (stripos($txt, $name) !== false) {
$output .= $txt.'<br />';
}
$txt = fgets($fp);
}
echo $output;
?>
容易导入CSV工作数据库,因为你whant在PHP创建数据库。 – Naumov