2015-03-15 2 views
0

Начну с того, что я довольно новичок во всех HTML/CSS/PHP, но особенно в PHP. У меня есть страница, index.php, это всего лишь базовый HTML для этой страницы, но мне нужен PHP для скрипта для чтения данных из пары файлов в таблицу HTML.Чтение файла в таблицу с использованием PHP

<table id="table"> 
      <?php 
      $names = fopen("names.txt", "r") or die("Error, unable to open name file!"); 
      $costs = fopen("cost.txt", "r") or die("Error, unable to open cost file!"); 
      $name = file("names.txt"); 
      echo $name[0]; 
      ?> 
       <tr> 
        <td><?phpecho ($name[0]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[1]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[2]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[3]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[4]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[5]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[6]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[7]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[8]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[9]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[10]); echo fgets($costs);?></td> 
        <td><?phpecho ($name[11]); echo fgets($costs);?></td> 
       </tr> 

В этом отрывке из моего кода, то echo $name[0]; просто проверить, если это работает, и эта часть делает, он печатает первую строку файла. Однако остальные вызовы в <td></td> ничего не делают. Ни одна из версий кода не печатает ничего, просто пустую таблицу. Первый метод - использовать массив с каждой строкой в ​​нем и вызывать линии, а второй метод - использовать функцию fgets() для чтения 1 строки в <td></td>, и указатель автоматически переместится на следующую строку. В любом случае нужно выполнить задание для прочтения файла по строкам, но я не понимаю, что меня отключает. Опять же, я очень новичок в PHP, так что это может быть очень новичком, если так, я извиняюсь заранее.

ответ

0

Это потому, что между открывающим тегом php и эхом нет места. попробуйте следующее:

<tr> 
        <td><?php echo ($name[0]); echo fgets($costs);?></td> 
        <td><?php echo ($name[1]); echo fgets($costs);?></td> 
        <td><?php echo ($name[2]); echo fgets($costs);?></td> 
        <td><?php echo ($name[3]); echo fgets($costs);?></td> 
        <td><?php echo ($name[4]); echo fgets($costs);?></td> 
        <td><?php echo ($name[5]); echo fgets($costs);?></td> 
        <td><?php echo ($name[6]); echo fgets($costs);?></td> 
        <td><?php echo ($name[7]); echo fgets($costs);?></td> 
        <td><?php echo ($name[8]); echo fgets($costs);?></td> 
        <td><?php echo ($name[9]); echo fgets($costs);?></td> 
        <td><?php echo ($name[10]); echo fgets($costs);?></td> 
        <td><?php echo ($name[11]); echo fgets($costs);?></td> 
       </tr> 
+0

Ha! Это было, вау, спасибо! Я думал, что это нечто гораздо более сложное, чем просто простая глупая ошибка, я могу быть новичком в PHP, но я не такой уж новый для кодирования, должен был поймать эту ошибку. Благодаря! Не могли бы вы предложить один метод над другим? Мое предпочтение - 'fgets()', поскольку мне не нужно ничего менять для всего кода. – user2278224

Смежные вопросы