如何多次停止回显数据

时间:2018-03-31 09:08:43

标签: php html mysql database fetch

我正在尝试从多个表中获取数据,并在获取数据时获取数据我多次获取相同的数据

如何多次停止回声数据

<?php
$stmt = $DB_con->prepare('SELECT t1.id,t2.id from t1,t2ORDER BY t1.id DESC ');
$stmt->execute();   
if($stmt->rowCount() > 0){
    while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
        extract($row);
}
?>

这是我得到的数据但多次像t1有10个ids t2有20个ids所以我在显示器上有30个ID

1 个答案:

答案 0 :(得分:0)

为避免重复行,您可以使用不同的

  $DB_con->prepare('SELECT DISTINCT  t1.id,t2.id from t1,t2 ORDER BY t1.id DESC ');

但在您的FROM子句中,您使用的是交叉连接(表格的每一行之间的笛卡尔乘积乘以其他表格的每一行)

可能是你需要一个连接,尤其是表格列之间的条件,与列表相关联。

  $DB_con->prepare('SELECT DISTINCT  t1.id,t2.id 
  from t1
  INNER JOIN t2 ON t1.id = t2.id ORDER BY t1.id DESC ');

基于t1.id = t2.id的连接只是一个示例,您应该检查evnetual真实连接条件