Укажите нового пользователя другим цветом или символом или подсветкой - PullRequest
0 голосов
/ 10 ноября 2018

Я хочу указать текущего добавленного пользователя через символ или уникальный цвет , например, когда кто-то нажимает на Сохранить , и добавляемый пользователь должен быть показаны другим цветом или выделены при этом взгляде, а затем исчезают после обновления, что-то вроде того, что stackoverflow делает в системе комментирования.

Это мой код index.php на этой странице, которую я создал, и после отправки этой формы я добавил пользователя в базу данных, а затем показал его в порядке убывания

    <form action="save.php" method="post">
        <div class="text-center" id='input_tag'>
            <input type="text" name="name" id= 'input'>
            <input type="submit" name="submit" class="btn btn-dark  " id = "button" value="Save">
        </div>
    </form>
    <div class="container">
        <div class="row">

                <div class="col-md-4">
                    <table width="100"  class="table" id = 'tb'>
                        <?php 
                            $connect = mysqli_connect('localhost','root','root','user');
                            $query = "SELECT name from userdata order by id DESC";

                            $run = mysqli_query($connect,$query);


                            while($row = mysqli_fetch_array($run))
                            {

                                    echo "<tr>";
                                    echo "<td>".$row['name']."<td>";
                                    echo "</tr>";

                            }   



                         ?>


                    </table>
                </div>


        </div>
</div>

Это save.php, где пользователь добавляется в БД, а затем перенаправляется на index.php страницу

.
$connect = mysqli_connect('localhost', 'root' ,'root' ,'user');

if($connect){
    if(isset($_POST['submit']))
    {
        $name = $_POST['name'];
        $query = "INSERT INTO `userdata`(`name`) values ('$name')";

        if(mysqli_query($connect,$query)){
            header('location:index.php');

        }
    }

}
else{
    echo "not connected";
}

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Если вы хотите отобразить пользователя по-другому в первый раз, то вам понадобится своего рода флаг, который говорит, был ли пользователь показан или нет. Во время вставки пользователя установите для флага didShow значение false. Когда вы показываете пользователя, отметьте флаг и, если false, покажите пользователю с символом и установите флаг didShow в значение true. Когда вы показываете пользователю, если флаг didShow имеет значение false, показывать пользователь без символа.

Добавьте новый столбец с именем didShow в вашу базу данных. Установите значение по умолчанию 0 (ложь).

Измените запрос следующим образом:

$query = "SELECT id, name, didShow from userdata order by id DESC";

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

$run = mysqli_query($connect, $query);
$style = 'style="color:#ccc"';
while($row = mysqli_fetch_array($run))
{
    echo "<tr>";
    if ( $row['didShow'] == 0 ) {
        echo "<td><span {$style}>".$row['name']."</span><td>";
        $updateQuery = "UPDATE `userdata` SET didShow=1 WHERE id = {$row['id']}";
        mysqli_query($connect, $updateQuery);
    } else {
        echo "<td>".$row['name']."<td>";
    }
    echo "</tr>";

}   
0 голосов
/ 10 ноября 2018

Этого можно добиться с помощью простого CSS и JS.

Измените функцию заголовка в save.php на

header('location:index.php?added=1');

Добавить стиль CSS в index.php

<style type="text/css">
        tr:last-of-type  {
            transition: .7s background;
        }
    </style>

В конце index.php добавить следующее

    <?php
  if (isset($_GET['added'])){
  print '<script type="text/javascript">

            document.querySelector("tr:first-of-type").style.background = "red";
            setTimeout(function() {document.querySelector("tr:first-of-type").style.background = unset"},2000);
        </script>';

     }

  ?>

Я предполагаю, что сначала появится новый пользователь.

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