Обновите все строки в выбранной строке, где время столбца имеет время меньше текущего времени на 3 дня, используя mysqli php - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть таблица пользователей в моей базе данных со столбцом времени, установленным на временную метку по умолчанию, а столбец состояния имеет значение 0 или 1.

Я уже выбрал строки, где username='$username' and status= '1'.

Теперь я хочу пройтись по этим выбранным строкам и проверить строки, в которых время в столбце времени меньше текущего времени (т. Е. Time ()) как минимум на 7 дней, а затем обновить столбец состояния таких строк., настройка status=2.

Я много чего читал в Интернете, но не смог этого сделать ... Ниже мой текущий код, я использую mysqli.

$sql= mysqli_query($conn, 
          "select from tables where username=$username and status='1' ") ;

$row=mysqli_query($conn, $sql) ;

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Я только что поработал над своим вопросом выше, и сейчас у меня все отлично.Вот что я сделал:

$query=mysqli_query($conn,"select * from table_name");

while($Row = mysqli_fetch_array($query)) {
$day= abs(time ()-$time)/86400;
$ql= mysqli_query($conn, "update table_name set status='2' where name='$username' and status='1' and $day>4"); 
//for 4 days interval
}
0 голосов
/ 25 февраля 2019

Вам не нужно проходить через него, потому что вы можете указать, где условие внутри вашего оператора обновления:

    $sql= mysqli_query($conn, "UPDATE tables SET status = '2' WHERE username = '$username' AND status = '1' AND time <= CURRENT_DATE - INTERVAL 7 DAY") ;

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