使用PHP删除从MySQL数据库获得的重复结果

克里斯·C

我已经从学生房间预订记录的数据中分离出两个表。有两个表,“申请人”存储学生的ID和昵称,“ rmBooking”存储预订记录(时间,日期等)。

  -Table Applicant

    user_id  |   name
   ---------------------
       1     |   Benny
       2     |   Chars
       3     |   Harry
    ......   |   ......

  -Table rmBooking

    room   |  booking_date  |  from_time  |  to_time  
  ----------------------------------------------------
    101    |  22-09-2014    |     1       |     3
    101    |  28-09-2014    |     2       |     4
    101    |  02-10-2014    |     1       |     4
    101    |  04-10-2014    |     3       |     6
   ......  |   ......       |   ......    |  ......

我想在浏览器中将结果显示为一个表,就像:

    user_id  |   name    |    room   |  booking_date  |  from_time  |  to_time
   -----------------------------------------------------------------------------
       1     |   Benny   |    101    |  22-09-2014    |     1       |     3
       2     |   Chars   |    101    |  28-09-2014    |     2       |     4
       3     |   Harry   |    101    |  02-10-2014    |     1       |     4
    ......   |   ......  |  ......   |   ......       |   ......    |  ......

当我尝试执行此工作并测试浏览器时,该表显示:

    user_id  |   name    |    room   |  booking_date  |  from_time  |  to_time
   -----------------------------------------------------------------------------
       1     |   Benny   |    101    |  22-09-2014    |     1       |     3
       1     |   Benny   |    101    |  22-09-2014    |     1       |     3
       1     |   Benny   |    101    |  22-09-2014    |     1       |     3
    ......   |   ......  |  ......   |   ......       |   ......    |  ......
       2     |   Chars   |    101    |  22-09-2014    |     1       |     3
       2     |   Chars   |    101    |  22-09-2014    |     1       |     3
    ......   |   ......  |  ......   |   ......       |   ......    |  ......
       3     |   Harry   |    101    |  22-09-2014    |     1       |     3
       3     |   Harry   |    101    |  22-09-2014    |     1       |     3
    ......   |   ......  |  ......   |   ......       |   ......    |  ......
       1     |   Benny   |    101    |  28-09-2014    |     2       |     4
       1     |   Benny   |    101    |  28-09-2014    |     2       |     4
    ......   |   ......  |  ......   |   ......       |   ......    |  ......
       2     |   Chars   |    101    |  28-09-2014    |     2       |     4
       2     |   Chars   |    101    |  28-09-2014    |     2       |     4
    ......   |   ......  |  ......   |   ......       |   ......    |  ......

         ..............................................................

       1     |   Benny   |    101    |  02-10-2014    |     1       |     4
    ......   |   ......  |  ......   |   ......       |   ......    |  ......      

而我的PHP代码:

    <?php
$dbConnection = mysql_connect("localhost", "aaaaa", "bbbbb");
if (!$dbConnection) {
    die("Could not connect database: " . mysql_error());
}
mysql_select_db("aaaaa");
$show_rmBooking = mysql_query("SELECT DISTINCT user_id, name, booking_date, from_time, to_time, room FROM rmBooking, Applicant
                                 GROUP BY user_id
                                 ORDER BY user_id, booking_date;
                                 ");

if(!$show_rmBooking){
    die("Cannot select Database: rmBooking or Applicant, Error:" . mysql_error());
}

    $rmTable = "<table border=1>";
    $rmTable .= "<tr>";
        $rmTable .= "<th colspan=6 align=center>Room's Enrollment report</th>";
    $rmTable .= "</tr>";
    $rmTable .= "<tr>";
        $rmTable .= "<td style='text-align:center'>ID</td>";
        $rmTable .= "<td style='text-align:center'>name</td>";
        $rmTable .= "<td style='text-align:center'>Room Number</td>";
        $rmTable .= "<td style='text-align:center'>Booking date</td>";
        $rmTable .= "<td style='text-align:center'>From</td>";
        $rmTable .= "<td style='text-align:center'>To</td>";
    $rmTable .= "</tr>";
    $rmTable .= "<tr>";
    if(mysql_num_rows($show_rmBooking) > 0){
        while ($rows_Applicant = mysql_fetch_array($show_rmBooking)){
            foreach($rows_Applicant as $key => $value){
                $rmTable .= "<tr>";
                    $rmTable .= "<td>" . $rows_Applicant['user_id'] . "</td>";
                    $rmTable .= "<td>" . $rows_Applicant['name'] . "</td>";
                    $rmTable .= "<td>" . $rows_Applicant['room'] . "</td>";
                    $rmTable .= "<td>" . $rows_Applicant['booking_date'] . "</td>";
                    $rmTable .= "<td>" . $rows_Applicant['from_time'] . "</td>";
                    $rmTable .= "<td>" . $rows_Applicant['to_time'] . "</td>";                                                  
                $rmTable .= "</tr>";
            }               
        }
    }   
    $rmTable .= "</tr>";
$rmTable .= "</table>";

echo $rmTable;
mysql_free_result($show_rmBooking);
mysql_close($dbConnection);

?>它显示错误的结果,并且预订记录与学生重复。我是否需要首先在mysql服务器中加入表或编码不正确?任何人都可以教我如何在mysql中加入表,非常感谢。

亚历克斯·卡辛

如果您愿意按照描述的方式显示表格,则应使用JOIN但是,我看不到两个表之间的关系。考虑两个示例表:

Table Vendors
+ id + vendor_name + product_related +
|----|-------------|-----------------|
| 1  | Coke        | Coca Cola       |
| 2  | Pepsi       | Pepsi Diet      |
+----+-------------+-----------------+

Table Addicts
+ id + name + addicted_to +
|----|------|-------------|
| 1  | Mike | 1           |
| 2  | Sarah| 1           |
| 3  | Jake | 2           |
+----+------+-------------+

addicted_to列代表上表中产品的ID。因此,如果我们像这样加入他们:SELECT * FROM Addicts JOIN Vendors ON Addicts.addicted_to = Vendors.id我们将获得所需的表:

+ id + name + addicted_to + id + vendor_name + product_related +
|----|------|-------------|----|-------------|-----------------|
| 1  | Mike | 1           | 1  | Coke        | Coca Cola       |
| 2  | Sarah| 1           | 1  | Coke        | Coca Cola       |
| 3  | Jake | 2           | 2  | Pepsi       | Pepsi Diet      |
+----+------+-------------+----+-------------+-----------------+

当心,因为列id将是模棱两可的,并要计划好数据库和表的结构,同时要牢记关系。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对mysql数据库的结果重复功能

来自分类Dev

无法通过查询MySQL数据库获得结果

来自分类Dev

避免在PHP中从数据库显示重复结果

来自分类Dev

使用PHP和MySQL从数据库中获取数据时,无法避免重复数据

来自分类Dev

无法使用PHP,Mysql和Angular.js检查数据库中的重复数据

来自分类Dev

PHP:无法从MYSQL数据库获得完全匹配

来自分类Dev

没有从数据库获得结果

来自分类Dev

使用Php从MySQL数据库获得URL可用性

来自分类Dev

使用 PHP 或 MySQL 在数据库中获得最快的 0-60

来自分类Dev

如何从MySQL数据库中总结一组结果,并避免在PHP中出现重复项?

来自分类Dev

在MYSQL数据库PHP中选择重复的列

来自分类Dev

在MYSQL数据库PHP中选择重复的列

来自分类Dev

如何使用php从表中删除mysql数据库数据

来自分类Dev

MySQL数据库不显示PHP中的查询结果

来自分类Dev

在html / php表中显示mysql数据库的结果

来自分类Dev

在html / php表中显示mysql数据库的结果

来自分类Dev

使用Php从MYSQL数据库中提取注释会导致意外的JSON结果

来自分类Dev

PHP数据库结果>数组> JSON(不建议使用mysql_fetch_assoc)

来自分类Dev

如何使用php / mysql / html / css在3列中显示来自数据库的结果

来自分类Dev

使用mysql和php显示ID匹配的数据库中的单个结果

来自分类Dev

如何使用PHP从Mysql数据库中获取结果来创建多选Android列表视图?

来自分类Dev

使用Php从MYSQL数据库中提取注释会导致意外的JSON结果

来自分类Dev

使用下拉列表选择php mysql数据库的结果创建新的下拉列表

来自分类Dev

使用PHP从MySQL数据库跨多列格式化结果

来自分类Dev

从数据库删除重复项

来自分类Dev

从SQLite数据库删除重复项

来自分类Dev

使用php在数据库上重复输入

来自分类Dev

如何使用php避免在数据库上重复?

来自分类Dev

使用PDO从MySQL数据库获取单个结果

Related 相关文章

  1. 1

    对mysql数据库的结果重复功能

  2. 2

    无法通过查询MySQL数据库获得结果

  3. 3

    避免在PHP中从数据库显示重复结果

  4. 4

    使用PHP和MySQL从数据库中获取数据时,无法避免重复数据

  5. 5

    无法使用PHP,Mysql和Angular.js检查数据库中的重复数据

  6. 6

    PHP:无法从MYSQL数据库获得完全匹配

  7. 7

    没有从数据库获得结果

  8. 8

    使用Php从MySQL数据库获得URL可用性

  9. 9

    使用 PHP 或 MySQL 在数据库中获得最快的 0-60

  10. 10

    如何从MySQL数据库中总结一组结果,并避免在PHP中出现重复项?

  11. 11

    在MYSQL数据库PHP中选择重复的列

  12. 12

    在MYSQL数据库PHP中选择重复的列

  13. 13

    如何使用php从表中删除mysql数据库数据

  14. 14

    MySQL数据库不显示PHP中的查询结果

  15. 15

    在html / php表中显示mysql数据库的结果

  16. 16

    在html / php表中显示mysql数据库的结果

  17. 17

    使用Php从MYSQL数据库中提取注释会导致意外的JSON结果

  18. 18

    PHP数据库结果>数组> JSON(不建议使用mysql_fetch_assoc)

  19. 19

    如何使用php / mysql / html / css在3列中显示来自数据库的结果

  20. 20

    使用mysql和php显示ID匹配的数据库中的单个结果

  21. 21

    如何使用PHP从Mysql数据库中获取结果来创建多选Android列表视图?

  22. 22

    使用Php从MYSQL数据库中提取注释会导致意外的JSON结果

  23. 23

    使用下拉列表选择php mysql数据库的结果创建新的下拉列表

  24. 24

    使用PHP从MySQL数据库跨多列格式化结果

  25. 25

    从数据库删除重复项

  26. 26

    从SQLite数据库删除重复项

  27. 27

    使用php在数据库上重复输入

  28. 28

    如何使用php避免在数据库上重复?

  29. 29

    使用PDO从MySQL数据库获取单个结果

热门标签

归档