我的数据库
Tables_sup |
+------------------+
| supid |
scompany |
| scategory |
| smarket |
|
我的PHP代码
<?php
require_once 'DBConnect.php';
$con = mysqli_connect("localhost","gb","123");
if (!$con) {
die('Could not connect: ' . mysqli_error());
}
mysqli_select_db($con,"test_database");
$sql=mysqli_query($con,'SELECT DISTINCT sup.supid,sup.smarket FROM sup order by supid desc');
$i=0;
$dyn_table='<table border="1" cellpadding="10">';
while($row=mysqli_fetch_array($sql)){
$supid = $row["supid"];
$smarket = $row["smarket"];
if ($i%5==0){
$dyn_table.='<tr><td>'.$smarket. '<td>';
}else{
$dyn_table.='<td>'.$smarket. '<td>';
}
$i++;
}
$dyn_table.= '<tr><table>' ;
?>
我的HTML
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php echo $dyn_table;?>
</body>
</html>
我的问题 结果还可以,但是有重复。如何获得独特的结果?
答案 0 :(得分:1)
在您的情况下,您可以尝试group by
功能。
答案 1 :(得分:1)
假设你的sup表的id列是主键,因此无论如何都是唯一的,你的不同查询毫无意义 - 无论如何每个找到的结果都有不同的id,因此它可以返回多行具有相同的smarket。
查询不同的smarket(没有supid),您将获得所需的结果集
SELECT DISTINCT smarket FROM sup
我在你的tableconstruction中也看到了一些错误(比如关闭tr标签)
// every fifth row is gonna be different?
if ($i%5==0){
$dyn_table.='<tr class="fifthrow"><td>'.$smarket. '</td></tr>';
}else{
$dyn_table.='<tr><td>'.$smarket. '</td></tr>';
}
最后,不要打开另一个tr和table;)$dyn_table.= '</table>' ;
编辑:忘了为表添加一些结束标记