За последние 24 часа нас посетили 22922 программиста и 1236 роботов. Сейчас ищут 749 программистов ...

Вывод из txt в html таблицу

Тема в разделе "Сделайте за меня", создана пользователем TarDy, 13 апр 2016.

  1. TarDy

    TarDy Новичок

    С нами с:
    13 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Доброго времени суток, форумчане.

    Дано: Три файла index.php, save.php, result.php.
    На первой находится форма для заполнения трёх полей: Фамилия, Имя, Рейтинг и кнопочка Сохранить. После заполнения трёх полей и нажатия кнопки происходит сохранение данных в файл listOfRating.txt и переход на страницу save.php, где всё и происходит. На этой странице находится переход на страницу result.php, где происходит вывод данных из txt.

    Соль:
    Нужно сделать вывод не просто на страницу, а в таблицу.
    Реализовал на костылях, сделав обёртку в <p> и <div>.
    Листинг прилагается:

    index.php
    PHP:
    1. <!DOCTYPE html>
    2. <html>
    3.   <head>
    4.     <link rel="stylesheet" href="style.css" charset="utf-8">
    5.     <meta charset="utf-8">
    6.     <title>Laboratory work #1</title>
    7.  </head>
    8.   <body>
    9.     <form method="post" action="save.php">
    10.       <label for="lastName">Фамилия: </label>
    11.       <input type="text" name="lastName" /><br/>
    12.       <label for="firstName">Имя: </label>
    13.       <input type="text" name="firstName" value=""/><br/>
    14.       <label for="rating">Рейтинг: </label>
    15.       <input type="text" name="rating"/><br/>
    16.       <input type="submit" value="Сохранить" name="submit"/>
    17.     </form>
    18.   </body>
    19. </html>
    save.php
    PHP:
    1. <!DOCTYPE html>
    2. <html>
    3.   <head>
    4.     <meta charset="utf-8">
    5.     <title>Save</title>
    6.   </head>
    7.   <body>
    8.     <?php
    9.       if (isset($_POST['firstName']) && $_POST['lastName'] && $_POST['rating'])
    10.       {
    11.         $myfile = fopen("data/listOfRating.txt", "a+") or die("Unable to open file!");
    12.         $firstName = $_POST['firstName'];
    13.         $lastName = $_POST['lastName'];
    14.         $rating = $_POST['rating'];
    15.         $txt = $firstName. "\n". $lastName. "\n" . $rating. "\n". date("d.m.y") ."\n";
    16.         fwrite($myfile, $txt);
    17.         fclose($myfile);
    18.       }
    19.      ?>
    20.      <p>
    21.        Сохранение прошло успешно. Данные занесены в папку "data".
    22.      </p>
    23.      <p>
    24.        Для просмотра содержимого нажмите <a href="result.php">здесь</a>!
    25.      </p>
    26.   </body>
    27. </html>
    result.php
    PHP:
    1. <!DOCTYPE html>
    2. <html>
    3.   <head>
    4.     <meta charset="utf-8">
    5.     <title>Result</title>
    6.   </head>
    7.   <body>
    8.     <?php
    9.       $filename = 'data/listOfRating.txt';
    10.       $handle = fopen($filename, "rb");
    11.       $contents = fread($handle, filesize($filename));
    12.       $counter = 0;
    13.       //Создание обёртки для четырёх параграфов "Фамилия, имя, рейтинг, дата"
    14.       echo "<div>";
    15.       //Создание параграфов "Фамилия, имя, рейтинг, дата"
    16.       echo "<p>";
    17.       //Определение длины текста в файле "listOfRating.txt", в котором хранятся данные
    18.       $lengthContent = strlen($contents);
    19.       $lengthContent = $lengthContent - 1;
    20.       for ($i = 0; $i < $lengthContent; $i++)
    21.       {
    22.         echo $contents[$i];
    23.         if($contents[$i] == "\n")
    24.         {
    25.           echo "</p>";
    26.           echo "<p>";
    27.           $counter++;
    28.           if ($counter == 4)
    29.             {
    30.               echo "</p>";
    31.               echo "</div>";
    32.               //Закрытие обёртки и открытие новой
    33.               echo "<div>";
    34.               echo "<p>";
    35.               $counter = 0;
    36.             }
    37.         }
    38.       }
    39.       echo "</p>";
    40.       echo "</div>";
    41.      ?>
    42.   </body>
    43. </html>
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    В чем проблема вместо дивов создать тейбл?
     
  3. TarDy

    TarDy Новичок

    С нами с:
    13 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Проблема решена, благодарю за ответ :)
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768