Добавление новых строк в таблицу из MySQL без обновления ничего - PullRequest
0 голосов
/ 12 мая 2019

У меня есть таблица, где у меня есть некоторые результаты из таблицы SQL. Я пытаюсь, чтобы новые строки автоматически добавлялись в таблицу, ничего не обновляя. Моя проблема в том, что я могу найти помощь только для извлечения результатов с помощью Ajax, но это сбрасывает мою таблицу. У меня есть таблица, где вы можете увидеть имя, статус и сообщение. Все извлекается из базы данных, кроме статуса, и пользователь может изменять статус строки, но это не изменяется в базе данных, только на экране для пользователя. Я хочу, чтобы новые строки автоматически появлялись под последней строкой, без необходимости обновления страницы или внешней страницы с помощью Ajax. Извините за плохое объяснение, если есть какие-либо дополнительные вопросы, пожалуйста, дайте мне знать в комментарии.

Я уже пробовал использовать Ajax, но могу найти только инструкции о том, как внешне обновлять страницу каждые x секунд.

<?php
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
mysqli_set_charset($conn,"utf8");
$name = mysqli_real_escape_string($conn, strtolower($_POST['navn']));
$sql = "SELECT * FROM users WHERE on_duty='1'";
$result = $conn->query($sql);
while ($row = mysqli_fetch_array($result)) {
    if ($row['status'] == "Ledig") {
    $row['status'] = "<font color='#9aaf07'><b>Ledig</b></font>";
}
echo '<tr><td>'.$row['id'].'</td>';
echo '<td>'.$row['callsign'].'</td>';
echo '<td><select class="form-control form-control-sm">
      <optgroup label="NÅVÆRENDE STATUS">
        <option readonly>'.$row['status'].'</option>
      </optgroup>
      <optgroup label="SETT NY STATUS">
        <option>LEDIG</option>
        <option>OPPTATT</option>
        <option>99</option>
      </optgroup>
      </select></div></td>
      <td><div contenteditable="true">test</div></td>';
}
?>

Это код, повторяющий результат, а ниже код, извлекающий результат

<script type="text/javascript">
    $(document).ready(function(){
        refreshUnits();
        refreshAvail();
    });
    function refreshUnits(){
        $('#on_duty').load('on_duty.php', function(){
           setTimeout(refreshUnits, 1000);
        });
    }
    function refreshAvail(){
        $('#available_units').load('available_units.php', function(){
           setTimeout(refreshAvail, 1000);
        });
    }
</script>

Вся помощь очень ценится

1 Ответ

0 голосов
/ 12 мая 2019

да, я понимаю, что вы хотите, вы можете вернуть количество строк в таблице $ count, передать его в качестве параметра в запросе Ajax, а затем запустить SQL-запрос с предложением Limit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...