PHP: Как выбрать и отобразить из другой таблицы? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть две таблицы в моей базе данных. Один помечен tempahanbilik, а другой - Билик. Обе таблицы имеют столбец с именем id (который содержит одинаковое значение). Теперь я хочу отобразить другие данные, которых нет в таблице tempahanbilik

Ниже приведен код:

$query = "SELECT * FROM tempahanbilik 
        WHERE tarikh BETWEEN '".$_SESSION['tarikh']."' AND '".$_SESSION['tarikh2']."'
    && tempahanbilik.id NOT IN (SELECT bilik.id FROM bilik)";


$results = $mysqli->query($query) or die($mysqli->error._LINE_);




$q = "SELECT * FROM bilik";



$result = $mysqli->query($query) or die($mysqli->error._LINE_);

   $total = $results->num_rows;
    if($total>0)
    {
        while($rows=$results->fetch_assoc())
        {   

            $nama = $rows['tempat'];
             echo" <tr>
         <td align = center><a href='tengokKosong2.php?tempat=$nama'>$nama</a></td>";

         echo "</tr>";
        }

    }
    else
    {
        while($row=$result->fetch_assoc())
        { 

            $id=$row['id'];
            $nama =$row['nama'];

         echo" <tr>
         <td align = center><a href='tengokKosong2.php?id=$id&nama=$nama'>$nama</a></td>";

         echo "</tr>";

        }
    }

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Вы хотите отобразить информацию из bilik, которая отсутствует в tempahanbilik, верно?

$query = "SELECT * FROM bilik 
WHERE id NOT IN (SELECT id FROM tempahanbilik WHERE 
tarikh BETWEEN '".$_SESSION['tarikh']."' AND '".$_SESSION['tarikh2']."')";

Пожалуйста, попробуйте использовать приведенный выше запрос и дайте мне знать, есть ли у него результат или нет ..

0 голосов
/ 25 апреля 2018

Нет необходимости объединять таблицы, вы можете использовать sub query. Ваш запрос должен быть таким

$query = "SELECT * FROM tempahanbilik 
    WHERE ( tarikh BETWEEN '".$_SESSION['tarikh']."' AND '".$_SESSION['tarikh2']."'
) AND tempahanbilik.id NOT IN (SELECT bilik.id FROM bilik)";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...