2016-11-10 39 views
0

我必须使用数据库表。我想从两个表格中打印联合的所有名称,并且如果出现多个名称,则只打印一次,并将其设为红色。 我的PHP:如何仅使用union来回显一个参数全部

<?php 
    include 'verification/verify_form_details.php'; 

    $result5 = getUsers(); 
    if (!$result5) { 
     die('Invalid query: ' . mysqli_error()); 
    } 
    while($row5 = mysqli_fetch_array($result5)) 
    { 
     $username = $row5['username'] ; 
     echo '<ul>';  
     echo"<li>". $username ."</li>"; 
     echo '</ul>'; 
    }   
?> 

而且我的查询:

function getUsers() 
{ 
    global $con; 
    $sql = "SELECT username FROM `user_project` 
      UNION ALL 
      SELECT username FROM `user`"; 
    return mysqli_query($con,$sql); 
} 

我怎样才能做到这一点?

回答

1

通过用户名

$sql = "SELECT username FROM 
      (
      SELECT username FROM `user_project` 
      UNION ALL 
      SELECT username FROM `user` 
      ) 
      GROUP BY username"; 

还可以修改您的查询组,如果你想获得外观的号码,这样就可以使红色那些具有多发生

$sql = "SELECT username, count(username) FROM 
       (
       SELECT username FROM `user_project` 
       UNION ALL 
       SELECT username FROM `user` 
       ) 
       GROUP BY username"; 
+0

NIce,它的工作原理是我想要的,但为什么我有一个空行?我的新表的第一行是空名称,数目为1 –

+0

表中是否有空的用户名? – Ima

+0

哦nvm,它是用户表内的空行,我刚刚删除它 –

0
$sql = "SELECT username FROM 
     (
     SELECT username FROM `user_project` 
     UNION ALL 
     SELECT username FROM `user` 
     ) 
     GROUP BY username"; 

增加'独特'

相关问题