Как я могу обновить 2 разных столбца с разными данными в PHP? - PullRequest
0 голосов
/ 28 ноября 2018

У меня проблемы с выяснением этого: у меня в таблице есть столбец с именем "active", и это логическое значение.Теперь, когда я устанавливаю одну строку в активное = 1, я хочу, чтобы предыдущая была установлена ​​в активное = 0.Как я могу этого достичь?

Это мой код на данный момент, что я должен добавить?Спасибо!

$sql = "UPDATE messages SET active=1 WHERE id=".$_GET['id']."";

РЕДАКТИРОВАТЬ (полный код):

<?php
    include 'a_head.php';
    include '../sql.php';

    $sql = "SELECT id FROM messages WHERE active=1";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $prv = $row["id"];
        }}

    $sql = "UPDATE messages SET active=0 WHERE active=".$prv."";
    $sql = "UPDATE messages SET active=1 WHERE id=".$_GET['id']."";

    if ($conn->query($sql) === TRUE) {
        echo "Message set <br /><a href=\"/\"><button>Back</button></a>";
    } else {
        echo "Could not update message.";
    }

                    $conn->close();
    include 'a_foot.php';
?>

1 Ответ

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

Отредактировано для работы с новым обновлением требований ...

Если вы сначала запустите сценарий "active to 0", то у вас будет только одно значение для обновления?

$sql = "UPDATE messages SET active=0 WHERE active=1";

Затем мы можем запустить ваш оригинальный скрипт, чтобы пометить новый идентификатор как активный

$sql = "UPDATE messages SET active=1 WHERE id=".$id."";

РЕДАКТИРОВАТЬ В этом случае мы должны сначала найти идентификатор активной строки

$sql = "SELECT id FROM messages WHERE active=1";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $prv = $row["id"];
    }}

Затем примените этот идентификатор к sql

$sql = "UPDATE messages SET active=0 WHERE active=".$prv."";

С последующим исходным обновлением

$sql = "UPDATE messages SET active=1 WHERE id=".$id."";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...