Собственно САБЖ. Скрипт вызывает и отображает последнюю запись из таблицы базы данных , работает несколько секунд и вырубается. Сломал голову почему. вот сам скрипт INDEX.PHP Код (Text): <?php $cn = pg_connect("host=localhost port=5432 dbname=db2 user=postgres password=888888"); if($cn) { echo "База данных - подключена"; } $query = "SELECT * FROM patient1 ORDER BY idpatient DESC LIMIT 1"; $rs = pg_query($cn, $query) or die("XYU: $query\n"); $username = date('Y-m-d H:i:s:ms', time()); $user_panel = file_get_contents("index1.tpl"); $user_panel = str_replace("{username}", $username, $user_panel); echo $user_panel; ?> <?php while ($row = pg_fetch_array($rs)) { ?> <tr> <td><?=$row[0]?></td> <td><?=$row[1]?></td> <td><?=$row[2]?></td> <td><?=$row[3]?></td> <td><?=$row[4]?></td> <td><?=$row[5]?></td> <td><?=$row[6]?></td> <td><?=$row[7]?></td> <td><?=$row[8]?></td> </tr> <?php } ?> PAGE.HTML Код (Text): <!DOCTYPE html> <html lang="en"> <head> <title>Центральная станция ALFA</title> <meta charset="utf-8"> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.js"></script> </head> <body> <div id="result"></div> </body> <script type="text/javascript"> $(function() { (function worker() { $.ajax({ url: 'index1.php', method: 'POST', data: {'test':'yes'}, success: function(data) { $('#result').html(data); }, complete: function() { setTimeout(worker, 1000); } }); })(); }); </script> </html> Помогите разобраться, я по сути только вхожу в тему PHP
Сорри) Заслуженное замечание. Запись в базу данных идет постоянная. Каждые 10 секунд. А вот результатов отображается максимум два и потом на экране активности нет, хотя БД продолжает аккумулировать данные.
Существенной разницы не случилось, данные из таблицы не отображаются в заданном интервале, а в таблицу они попадают каждые 10 секунд.
Код (Text): <?php $cn = pg_pconnect("host=localhost port=5432 dbname=db2 user=postgres password=888888"); if($cn) { echo "DB - CONNECTED"; } $query = "SELECT * FROM patient1 ORDER BY puls DESC LIMIT 1"; $rs = pg_query($cn, $query) or die("XYU: $query\n"); ?> <?php while ($row = pg_fetch_row($rs)) { ?> Таймер убрал. Я заметил, данные могут менять (а могут и нет), через рандомный период. Чищу таблицу, данные приходят. Но буквально обновляются 2-3 раза и экран становится статичным.
Возможно браузер или расширение браузера блокирует. Другой браузер без расширений или с отключением всех расширений скрипт ведет себя также? По скринам расширение google аналитики или к странице подключен js google аналитики.
Попробуй почитать про функцию ajax от jquery. В ней есть параметры, отвечающие за таймаут и кэширование, есть параметр async
Отключено кэширование при запросах к серверу. Код (Javascript): $(function() { (function worker(version) { $.ajax({ url: 'index1.php?v=' + version, method: 'POST', data: {'test':'yes'}, cache:false, success: function(data) { $('#result').html(data); }, complete: function() { version++ setTimeout(worker.bind(null, version), 1000); } }); })(1); });
Этот параметр может повлиять на выполнение запроса и получение ответа. async:false, запросы будут синхронными
По скринам ответ какой-то странный, когда приходят данные. Сначала таблица закрывается затем закрывается div и дальше идут столбцы и ячейки таблицы.
Такой скрипт работает? PHP: <?php $cn = pg_connect("host=localhost port=5432 dbname=db2 user=postgres password=888888"); if($cn) { echo "База данных - подключена"; } $query = "SELECT * FROM patient1 ORDER BY idpatient DESC LIMIT 1"; $rs = pg_query($cn, $query) or die("XYU: $query\n"); ?> <table> <?php while ($row = pg_fetch_array($rs)) {?> <tr> <td><?=$row[0]?></td> <td><?=$row[1]?></td> <td><?=$row[2]?></td> <td><?=$row[3]?></td> <td><?=$row[4]?></td> <td><?=$row[5]?></td> <td><?=$row[6]?></td> <td><?=$row[7]?></td> <td><?=$row[8]?></td> </tr> <?php } ?> </table>