Php 第一个表中特定列中的值等于另一个表中要在该特定表中显示数据行的列值

Php 第一个表中特定列中的值等于另一个表中要在该特定表中显示数据行的列值,php,mysql,Php,Mysql,我想在这两个表中,约会表的Chai中哪个应用程序选择列与讲师表中的值Chai相同时进行链接 然后我想显示约会时间、日期、学生姓名,这与应用程序选择(值Chai)是同一行 第一个表是关于将约会表单数据插入数据库的 CREATE TABLE `appointment` ( `stud_name` varchar(100) NOT NULL, `stud_num` varchar(20) NOT NULL, `app_course` enum('A'

我想在这两个表中,约会表的Chai中哪个应用程序选择列与讲师表中的值Chai相同时进行链接

然后我想显示约会时间、日期、学生姓名,这与应用程序选择(值Chai)是同一行

第一个表是关于将约会表单数据插入数据库的

        CREATE TABLE `appointment` (
      `stud_name` varchar(100) NOT NULL,
      `stud_num` varchar(20) NOT NULL,
      `app_course` enum('A','B','C','D','E') NOT NULL,
      `app_lect` enum('Chai','Lim','Diana','Siti','Joseph') NOT NULL,
      `app_date` date NOT NULL,
      `app_time` time(6) NOT NULL,
      `app_reason` varchar(255) NOT NULL,
      `app_approve` enum('pending','approve','reject') NOT NULL,
      `app_id` int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
这是插入到约会表中的数据

        INSERT INTO `appointment` (`stud_name`, `stud_num`, `app_course`, `app_lect`, `app_date`, `app_time`, `app_reason`, `app_approve`, `app_id`) VALUES
    ('Chong Jun Xuan', 'A1111', 'A', 'Chai', '2021-04-15', '12:50:00.000000', 'Discussion', 'pending', 19);
            <?php 
            $sql= "SELECT * FROM appointment,lecturer WHERE appointment.app_lect= lecturer.lect_name order by app_id";
            $result = mysqli_query($con,$sql)or die( mysqli_error($con));
    
            
             echo    "<table>
            <tr>
            <th>Appointment ID</th>
            <th>Student name</th>
                <th>Student Number</th>
                <th>Appointment date</th>
                <th>Appointment time</th>
                <th>Appointment reason</th>
            </tr>";
          while($row=mysqli_fetch_array($result)){ 
               echo "<tr>";
                                    echo "<td>".$row['app_id']."</td>";
                                    echo "<td>".$row['stud_name']."</td>";
                                    echo "<td>".$row['stud_num']."</td>";
                                    echo "<td>".$row['app_date']."</td>";
                                    echo "<td>".$row['app_time']."</td>";
                                    echo "<td>".$row['app_reason']."</td>";
                                    echo "</tr>";
           }
                 echo "</table>";     
                 
            ?>
表的表结构
讲师

     CREATE TABLE `lecturer` (
   `user_id` int(11) NOT NULL,
   `staff_ID` varchar(20) NOT NULL,
   `lect_name` varchar(50) NOT NULL,
   `lect_email` varchar(50) NOT NULL,
   `lect_password` varchar(50) NOT NULL,
   `lect_phonenum` varchar(20) NOT NULL,
   `lect_course` enum('A','B','C','D','E') NOT NULL,
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

数据插入到表中

        INSERT INTO `lecturer` (`user_id`, `staff_ID`, `lect_name`, `lect_email`, `lect_password`, `lect_course`) VALUES
    (1, 'A1001', 'Chai', 'chai@gmail.com', 'chai', 'A'),
    (2, 'A1002', 'Lim', 'lim@gmail.com', 'lim', 'B'),
    (3, 'A1003', 'Diana', 'diana@gmail.com', 'diana', 'B'),
    (4, 'A1004', 'Siti', 'siti@gmail.com', 'siti', 'C'),
    (5, 'A1005', 'Josept', 'joseph@gmail.com', 'josept', 'D');
    
更改表格

        ALTER TABLE `appointment`
      ADD PRIMARY KEY (`app_id`);
        ALTER TABLE `lecturer`
      ADD PRIMARY KEY (`user_id`);
        ALTER TABLE `appointment`
      MODIFY `app_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26;
        ALTER TABLE `lecturer`
      MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;
    
用于显示约会表中的详细信息的编码

        INSERT INTO `appointment` (`stud_name`, `stud_num`, `app_course`, `app_lect`, `app_date`, `app_time`, `app_reason`, `app_approve`, `app_id`) VALUES
    ('Chong Jun Xuan', 'A1111', 'A', 'Chai', '2021-04-15', '12:50:00.000000', 'Discussion', 'pending', 19);
            <?php 
            $sql= "SELECT * FROM appointment,lecturer WHERE appointment.app_lect= lecturer.lect_name order by app_id";
            $result = mysqli_query($con,$sql)or die( mysqli_error($con));
    
            
             echo    "<table>
            <tr>
            <th>Appointment ID</th>
            <th>Student name</th>
                <th>Student Number</th>
                <th>Appointment date</th>
                <th>Appointment time</th>
                <th>Appointment reason</th>
            </tr>";
          while($row=mysqli_fetch_array($result)){ 
               echo "<tr>";
                                    echo "<td>".$row['app_id']."</td>";
                                    echo "<td>".$row['stud_name']."</td>";
                                    echo "<td>".$row['stud_num']."</td>";
                                    echo "<td>".$row['app_date']."</td>";
                                    echo "<td>".$row['app_time']."</td>";
                                    echo "<td>".$row['app_reason']."</td>";
                                    echo "</tr>";
           }
                 echo "</table>";     
                 
            ?>

我想知道以下几点:

  • 用于显示约会表中数据的SQL查询代码
  • 将这两个表链接为when appointment.app_lect=讲师.lect_name,以便在带有条件的行中显示数据

请仅标记您真正使用的RDBMS。上述内容显然是MySQL,而不是SQL Server。谢谢,这将允许包含对另一个表的交叉引用的列成为查询中的联接。