这是我的代码:
<table border="2px solid #FFF" width="100%">
<tr>
<td width="50%"><Center>Username:</Center><br /></td>
<td width="50%"><center>Numebr Of Warnings:</center><br /></td>
</tr>
</table>
<?
$query = mysql_query("SELECT * FROM warnings");
$numrows = mysql_num_rows($query);
if($numrows != "0"){
while($row = mysql_fetch_assoc($query)){
$warned = $row['username'];
$by = $row['by'];
$sql = mysql_query("SELECT * FROM warnings WHERE username='$warned'");
$warns = mysql_num_rows($sql);
?>
<table border="2px solid #FFF" width="100%">
<tr>
<td width="50%"><center><b><?php echo $warned; ?></b></center></td>
<td width="50%"><center><b><?php echo $warns; ?></center></b></td>
</tr>
</table>
<?php
}
}
else
echo "No Currently Warned Users";
?>
<hr />
结果如下:
我怎样才能这样做,而不是为用户显示2个结果Mrg .....我只是希望它显示一个带有数字或行的结果。
帮助将不胜感激。
答案 0 :(得分:1)
您可以在查询中使用DISTINCT
以避免结果中出现重复的行:
SELECT DISTINCT username, `by` FROM warnings
答案 1 :(得分:0)
使用mysql_feth_array
更改mysql_fetch_assoc您以双记录获得用户身份。然后为每个用户提供2行
检查它的最佳方法是在代码中添加伪点。
$query = mysql_query("SELECT * FROM warnings");
$arr=array();
while($row = mysql_fetch_assoc($query))
{
$arr[]=$row;
}
echo "<pre>";
print_r($arr);
echo "</pre>";
exit;
这里检查$ arr是否有双重条目。然后用mysql_fetch_array更改mysql_fetch_assoc并再试一次
答案 2 :(得分:0)
这是表格
(通过ID,用户名,日期)
A1,1,U1,日期
A2,2,U2,日期
a3,3,U2,日期
a4,4,U2,日期
这是php代码
<?php
$conn = mysqli_connect("localhost","username","password");
mysqli_select_db($conn,"dbname");
$warns = mysqli_query($conn,"select username, count(username) as warncount from dtest.warnings W group by username");
while($line = mysqli_fetch_array($warns))
{
echo $line['username']." has ".$line['warncount']. " warns <br/> ";
}
?>