php-sql удалить значение, если существует в одной из моих двух таблиц - PullRequest
0 голосов
/ 24 ноября 2018

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

Проблема в том, что я не могу удалить записи из 3 таблиц.Я знаю, что сначала я должен проверить, существует ли конкретный идентификатор в staff_table или stu_table, но я не могу понять запрос, который я должен использовать.

Первая таблица - staff_message (столбцы: staff_id, m_id), вторая - stu_message (столбцы: stu_id, mid), а третья - таблица message (столбцы: * 1013).*).

Здесь вы можете увидеть мой код:

    <?php
        include_once('connect.php');

        $name=mysqli_real_escape_string($con,$_POST['clubname']);
        $staff_id=mysqli_real_escape_string($con,$_POST['staff_id']);

        if(empty($name)) {
            header("Location: ../options.php?index==empty");
            exit(); 
        }
        else {
            $quer = mysqli_query($con,"SELECT id FROM message WHERE type='$name'");
            while($row = mysqli_fetch_array($quer)) {   
                $message_id = $row['id'];
            }

            $query4 = mysqli_query($con,"SELECT * FROM staff_message WHERE m_id='$message_id'");

            if(mysqli_num_rows($query4) >= 1)
            {
                $query5 = mysqli_query($con,"DELETE FROM staff_message WHERE m_id='$message_id'");
            } else {
                    echo "not here staff"; //see if finds the value   
            }

            $query8 = mysqli_query($con,"SELECT * FROM stu_message WHERE mid='$message_id'");   

            if(mysqli_num_rows($query8) >= 1)
            {
                 $query5 = mysqli_query($con,"DELETE FROM stu_message WHERE mid='$message_id'");
            } else {
                    echo "not here stu";//see if finds the value   
            }


    $query= mysqli_query($con,"DELETE FROM message WHERE type = '$name'");  

    header("Location: ../options.php?delete==success");

        }
        ?>

Заранее спасибо!

РЕДАКТИРОВАТЬ: Я тестировал каждый код отдельно и увидел, чтоони оба работают.Я имею в виду, что если имеется только одна строка сообщения ученика, то сообщение удаляется, а также строка в справочной таблице (stu_message).Это также относится к академическому штатному расписанию.

Ответы [ 2 ]

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

Согласно вашему изображению ваша базовая таблица - это сообщение, а затем середина - ссылка в две таблицы (stu_message и staff_message) --- верно?

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

Возможно, у вас есть 3 таблицы

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