Создайте таблицу HTML Dynami c из файла .txt, используя PHP - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать html Dynami c table из .txt файла , который регулярно обновляется. Структура данных .txt выглядит примерно так:

25/07/2020 13:45:22;1
25/07/2020 14:15:22;0
25/07/2020 17:44:20;1

В самой таблице html должно быть как минимум 4 столбца (два из них жестко закодированы): ID | ИМЯ | ВРЕМЯ (из .txt) | СОСТОЯНИЕ (из .txt)

Как я могу выполнить sh это, используя PHP? Я не могу использовать fopen .

Спасибо!

1 Ответ

0 голосов
/ 26 мая 2020

Я бы сделал это с тремя отдельными частями:

  1. Файл на стороне пользователя.

Обычный HTML и JS - вы просто подключаетесь к php -файлу на сервере через jQuery ajax, чтобы получить содержимое вашего .txt файла:

let yourData;
function waitForMsg(){
//get your Data from the Server
    $.ajax({
        type: "GET",
        url: "getData.php",

        async: true, 
        cache: false,
        timeout:50000,

        success: function(data){ 
            yourData = (data);
            renderStuff(); 
            ractive.update();
            setTimeout(
                waitForMsg,
                15000
            );
        }
    });

};
файл на вашем сервере

На вашем сервере вы получаете данные в getData. php:

<?php
$lines = file_get_contents("myData.txt"); //gives you the Data as Array for easier handling
echo ($lines);
?>
обновление данных в пользовательском представлении

Я бы использовал ractive. js для рендеринга данных внутри html без перезагрузки, но есть еще десяток других способов:

function renderStuff() {
    const template = "{{#Data}}<tr><td>harcoded</td><td>harcoded</td><td>{{date}}</td>{{time}}</td></tr>{{/Data}}";
    ractive = new Ractive({
        el: '#target',
        template: template,
        modifyArrays: true,
        data: {yourData},
        computed: {
            Data() {
                let tempdoc = this.get('kinderchen');
                for (let x of tempdoc) {
                    //do something with your Data to make it more readable. I'd assume building a JSON out of it
                    //so it's something like: [{'date':'12/12/12'}, {'time':'15:22'}, ...]
                }

                return tempdoc;
            }
        }
    });
}

Конечно, это очень сокращенный пример, и для его работы потребуются некоторые изменения, но это способ начать.

...