【问题标题】:How to read certain data from CSV / .TXT files into a table如何将某些数据从 CSV / .TXT 文件读入表格
【发布时间】:2016-07-04 01:10:08
【问题描述】:

我知道有很多教程我几乎都尝试过,但它似乎不起作用,有一个 .txt 文件(现在我将它转换为 .csv,希望它能起作用,但它没有)。

此文件包含由; 分隔的数据,第一行包含某些事物的名称,其他行是记录。

我想要的是读取和显示关于正确工作 ID 和客户 ID 的正确数据,这些数据可以插入 HTML 表单并在运行后显示 HTML 表格,但不幸的是,由于某种原因它不起作用.以下是代码:

首先是 HTML 表单的代码:

 <h2>Device's status </h2>
                    <form id="form" name="form" method="post" action="process.php">
                        <div class="form-group">
                            <input type="text" name="customerid" class="form-control" required="required" placeholder="Customer ID">
                        </div>
                        <div class="form-group">
                            <input type="text" name="workid" class="form-control" required="required" placeholder="Worksheet ID">
                        </div>

                        <div class="form-group">
                            <input type="submit" name="submit" class="btn btn-submit" value="Submit">
                        </div>
                    </form>

现在是 process.php:

<?php
$workid     = @trim(stripslashes($_POST['workid'])); 

$customerid       = @trim(stripslashes($_POST['cusomterid'])); 

$file = file('WEBDATA.csv');

foreach($file as $line){

    list($workid,$customerid,$devicename,$devicesnumber,$manufactured,$offer,$grosspay;$status)= explode(";",$line);

}
?>



     <table border="1">
        <tr>
            <td> Worksheet ID </td>
            <td> Customer ID</td>
            <td> Device Name</td>
            <td> Serial Number</td>
            <td> Manufacturer</td>
            <td> Expected Price </td>
            <td> Gross Final Price </td>
            <td> Repairing status </td>
            <tr>
                        <td><?php echo "$workid" ?></td>
                        <td><?php echo "$customerid" ?>   </td>
                        <td><?php echo "$devicename" ?>   </td>
                        <td><?php echo "$devicesnumber" ?>   </td>
                        <td><?php echo "$manufactured" ?>   </td>
                        <td><?php echo "$offer" ?>   </td>
                        <td><?php echo "$grosspay" ?>   </td>
                        <td><?php echo "$status" ?>   </td>

有什么问题?如何使这项工作?简单地说:用户将 2 个 ID 放入该 HTML 表单中,它应该显示来自 .csv 文件的与这 2 个 ID 有关的数据。但它不起作用。

【问题讨论】:

  • 这是一个错字$grosspay; Parse error: syntax error, unexpected ';', expecting ',' or ')'。错别字是题外话。
  • 谢谢 Fred,我把所有的东西都翻译成英文,以便大家更容易理解,抱歉打错了。
  • 只需将$manufactured,$offer,$grosspay;$status) 更改为$manufactured,$offer,$grosspay,$status),它就会对你有用,史蒂夫。如果你没有,记得用&lt;/table&gt; 关闭你的桌子。它不在您发布的代码中。
  • 不不,不幸的是它没有那么简单,我在这里犯了这个错字,只是我在运行时检查了它,它只显示空表:(
  • 我已经在 csv 文件中使用 John; 123; The device for John; 1234-ft-550; Bell &amp; Howell; $9.99; $11.99; DONE; 测试了您的代码,因为我不知道您的代码是什么样的。但是我可以理解为什么它不能按您希望的方式工作,因为即使输入了不正确的 ID/名称,它也会显示数据。 TBH,自从我开始使用数据库以来,我已经很多年没有使用过文本文件了,在这种情况下,这会更有意义。现在,如果您无法从中获取任何内容,请确保该文件已设置读取它的权限并且您正在读取正确的文件。还要检查错误。

标签: php html csv post text


【解决方案1】:

我不知道你们没有注意到或者我不完全理解这个问题,但是当我进行这些更改时,它运行顺利并提供数据表。

<?php
$workid     = @trim(stripslashes($_POST['workid'])); 
$customerid       = @trim(stripslashes($_POST['cusomterid'])); 
$file = file('WEBDATA.csv');
?>
<table border="1">
    <tr>
        <td> Worksheet ID </td>
        <td> Customer ID</td>
        <td> Device Name</td>
        <td> Serial Number</td>
        <td> Manufacturer</td>
        <td> Expected Price </td>
        <td> Gross Final Price </td>
        <td> Repairing status </td>
    <tr>
<?php
foreach($file as $line){
    list($workid,$customerid,$devicename,$devicesnumber,$manufactured,$offer,$grosspay,$status)= explode(";",$line);
?>
        <td><?php echo "$workid" ?></td>
        <td><?php echo "$customerid" ?>   </td>
        <td><?php echo "$devicename" ?>   </td>
        <td><?php echo "$devicesnumber" ?>   </td>
        <td><?php echo "$manufactured" ?>   </td>
        <td><?php echo "$offer" ?>   </td>
        <td><?php echo "$grosspay" ?>   </td>
        <td><?php echo "$status" ?>   </td>             
<?php   } ?>
</table>

【讨论】:

  • 在你的代码开头的 customerid 附近有一个错字,但我试过了,它仍然运行,然后没有错误消息,只是一个空表:(用 3 个网络浏览器测试,但仍然,:/
猜你喜欢
  • 2020-10-24
  • 1970-01-01
  • 2013-06-04
  • 2010-11-06
  • 1970-01-01
  • 2020-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多