Php 显示其他选项卡中不存在的选项卡的一部分

Php 显示其他选项卡中不存在的选项卡的一部分,php,mysql,Php,Mysql,我有两个标签,分别命名为liste_pieces和client_pieces 第一个包含大约1000个元素的列表。第二个包含第一个的某些元素 实际上我在做一个查询,用第一个来填充第二个选项卡 我还想显示第一个元素中不在第二个元素中的所有元素 我想我可以做一个关节,因为关节只显示两个选项卡中的元素 事实上,这不是我想要的 我现在已经问过了 <table id="box-table-a" width="100%"> <tr> <th

我有两个标签,分别命名为liste_pieces和client_pieces

第一个包含大约1000个元素的列表。第二个包含第一个的某些元素

实际上我在做一个查询,用第一个来填充第二个选项卡

我还想显示第一个元素中不在第二个元素中的所有元素

我想我可以做一个关节,因为关节只显示两个选项卡中的元素

事实上,这不是我想要的

我现在已经问过了

      <table id="box-table-a" width="100%">
    <tr>
        <th scope="col" width="50%">LISTE DES PI&Egrave;CES</th>
        <th scope="col" width="50%">AJOUT ?</th>
    </tr>

<?php $sql="SELECT * FROM `liste_pieces`";
$result=mysql_query($sql) or die;$i=0;
while($data=mysql_fetch_assoc($result))

{?>
<tr>
    <td><?php echo $data['libelle'] ; ?></td>
    <td style="text-align:center" align="center">
  <p align="center">  <input type="hidden" name="piece[<?php echo $i ; ?>]" value="0" /><input type="checkbox" class="checkbox" value="1" name="piece[<?php echo ++$i ; ?>]" id="piece[<?php echo ++$i ; ?>]" /></p></td>

</tr>
<?php } ?>
但这会向我显示第一个选项卡中的所有元素。我真的不知道如何删除第二个选项卡中存在的元素

列表中的列id与第二个选项卡中的列id相同,只是称为id\u piece

我有点迷路了

我不知道如何处理

受到我最大的尊重

亲切的问候

SP.

使用这样的查询

从列表项中选择*列名称不在列表项中从客户端选择列名称

选择*从客户端\u块,其中列\u名称不在列表\u块中选择列\u名称

这将解决您的问题,列名称应以相同的数据类型出现在两个表中。

使用如下查询

从列表项中选择*列名称不在列表项中从客户端选择列名称

选择*从客户端\u块,其中列\u名称不在列表\u块中选择列\u名称


这将解决您的问题,列名称应以相同的数据类型出现在两个表中。

此查询应为您解决问题。是的,这是一个连接查询,按照您要求的方式:

select
    a.col1,
    a.col2,
    b.col1 // etc
from
    liste_pieces a
        join client_pieces b
            on a.id=b.id_peice
where b.id_piece is null
以下是我的数据库中的一个示例:

mysql> select id, brand from cars;
+----+-------+
| id | brand |
+----+-------+
|  1 |     2 |
|  2 |     1 |
|  3 |     3 |
|  4 |     4 |
|  5 |     2 |
|  6 |     5 |
|  7 |     1 |
|  8 |     2 |
|  9 |     2 |
| 10 |     5 |
| 11 |     2 |
+----+-------+
11 rows in set (0.00 sec)


mysql> select id, brand from brands;
+----+--------+
| id | brand  |
+----+--------+
|  1 | Ford   |
|  2 | Toyota |
|  3 | Nissan |
|  4 | Smart  |
|  5 | BMW    |
|  6 | Holden |
+----+--------+
6 rows in set (0.00 sec)

select
    a.brand
from
    brands a
        left join cars b
            on a.id=b.brand
where
    b.brand is null

+--------+
| brand  |
+--------+
| Holden |
+--------+
1 row in set (0.00 sec)

另外:我刚刚写了一个非常长的问题和答案,涵盖了这个确切的问题和答案,我希望这将有助于澄清联接如何在表上工作,以及如何从数据库中的多个表中获取信息

这个查询应该可以帮到你。是的,这是一个连接查询,按照您要求的方式:

select
    a.col1,
    a.col2,
    b.col1 // etc
from
    liste_pieces a
        join client_pieces b
            on a.id=b.id_peice
where b.id_piece is null
以下是我的数据库中的一个示例:

mysql> select id, brand from cars;
+----+-------+
| id | brand |
+----+-------+
|  1 |     2 |
|  2 |     1 |
|  3 |     3 |
|  4 |     4 |
|  5 |     2 |
|  6 |     5 |
|  7 |     1 |
|  8 |     2 |
|  9 |     2 |
| 10 |     5 |
| 11 |     2 |
+----+-------+
11 rows in set (0.00 sec)


mysql> select id, brand from brands;
+----+--------+
| id | brand  |
+----+--------+
|  1 | Ford   |
|  2 | Toyota |
|  3 | Nissan |
|  4 | Smart  |
|  5 | BMW    |
|  6 | Holden |
+----+--------+
6 rows in set (0.00 sec)

select
    a.brand
from
    brands a
        left join cars b
            on a.id=b.brand
where
    b.brand is null

+--------+
| brand  |
+--------+
| Holden |
+--------+
1 row in set (0.00 sec)

另外:我刚刚写了一个非常长的问题和答案,涵盖了这个确切的问题和答案,我希望这将有助于澄清联接如何在表上工作,以及如何从数据库中的多个表中获取信息

“tab”你是指“tables”吗?哦,是的,对不起,在法国我用这个词,这是table的快捷方式,你是指“tables”吗?哦,是的,对不起,在法国,我用这个词,这是table的快捷方式,比你多了,我不知道这种请求确实存在。虽然这会起作用,两个表上的连接将提供更高效的查询-尽可能避免使用类似于中的函数。有关更多信息,请参阅。我不知道这种请求确实存在。虽然这会起作用,两个表上的联接将提供更高效的查询-尽可能避免使用类似于中的函数。有关详细信息,请参阅。非常感谢,这对我理解联接有很大帮助。@StanislasPiotrowski为您提供了一个我认为会有所帮助的示例。当一个不在。。。查询会起作用,但效率不高,而且随着数据行数的增加,情况会变得更糟。非常感谢,它帮助我了解了这个联合体。@StanislasPiotrowski给你举了一个我认为会有帮助的例子。当一个不在。。。查询将起作用,但这样做效率不高,而且随着数据行数的增加,情况会变得更糟。