在mysql中获取相同数据的信息

时间:2015-05-13 03:24:28

标签: php mysql

我无法用语言表达,因为我并不擅长英语,所以我只是举个例子。因此,我无法真正搜索如何做到这一点。希望你明白。

例如:假设我有一个像这样的表设置。

+-------------+---------+---------+----------+
| Category_ID | User_ID |  Info1  |  Info2   |
+-------------+---------+---------+----------+
|           1 |       1 | 'Info1' | 'Info2'  |
|           1 |       2 | 'Info3' | 'Info4'  |
|           1 |       3 | 'Info5' | 'Info6'  |
|           1 |       4 | 'Info7' | 'Info8'  |
|           1 |       5 | 'Info9' | 'Info10' |
+-------------+---------+---------+----------+

这样的事情。所以我想要的是让每个使用/的category_id为1的用户。然后打印出他们拥有的信息。这甚至可能吗?只是向我解释如何做到这一点我已经有了一个获取信息进出mysql的方法。

注意#1:我们的想法是为每个用户打印一个div模板,这样就像列表一样。
说实话,我唯一尝试的是' SELECT * FROM table WHERE Category_ID = 1 GROUP BY column_choice' 。 你希望你们明白我说的话。对不起,我不太擅长英语。

4 个答案:

答案 0 :(得分:1)

如果你想要全部取出它们并将它们放在div中。你可以试试这个:

if($stmt = $YourConnection->prepare("SELECT Information FROM yourTable WHERE Category_ID = 1")){
  $stmt->execute();
  $stmt->bind_result($information);
  while($stmt->fetch()){
    ?>
      <div>
        <?php echo $information; ?>
      </div>
    <?php
  } /* END OF WHILE LOOP */
  $stmt->close();
} /* END OF PREPARED STATEMENT */

我希望您知道如何建立连接,只需替换上面所需的表名连接变量

答案 1 :(得分:0)

使用SQL命令:

SELECT * FROM table WHERE Category_ID=1;

答案 2 :(得分:0)

SELECT Information FROM table_name WHERE Category_ID = 1

答案 3 :(得分:0)

你有三种方法可以做到。

首先:使用表格的笛卡尔积并过滤掉它:

SELECT t.User_ID, u.ID, u.username, u.email FROM table AS t, users AS u WHERE t.Category_ID = 1 AND t.User_ID = u.ID;

第二:将两张桌子连在一起得到你的结果:

SELECT t.User_ID, u.username, u.email FROM table AS t NATURAL JOIN users AS where t.Category_ID = 1;

第三步:使用嵌套查询获取类别#1中的用户ID,然后查询用户表并按前一部分中的集合对其进行过滤。

SELECT username, email FROM users WHERE ID in (SELECT User_ID FROM table WHERE Category_ID=1;

希望这有帮助。