用PHP查詢資料庫,但資料重複顯示,如何能讓資料不重複如:
自編號0193 06:25:35狀態顯示完成,但11:25:35也顯示完成,如何能讓同一版本號碼資料只顯示最新的,
網頁代碼如下:
資料查詢
if($_REQUEST['submit']!="")
{
$link=mysql_connect("127.0.0.1","root","12345678");
if(!$link) echo "沒有串連成功!";
else echo "串連成功!";
mysql_select_db("busap", $link); //選擇資料庫
//控制查詢條件
$q = "SELECT * FROM research where banben like '%{$_REQUEST['banben']}%' AND linename like '%{$_REQUEST['xianlu']}%' AND zhuangtai like '%{$_REQUEST['zhuangtai']}%' order by busname asc";
// mysql_query("SET NAMES GB2312"); //防止亂碼
$rs = mysql_query($q); //擷取資料集
$assoc= mysql_num_rows($rs);///影響的行數 , 原來用了mysql_fetch_assoc
echo "$assoc";
$row=mysql_fetch_array($rs); //只需要補充回這一行.
if(!$rs){die("Valid result!");}
}
?>
| 線路 |
中心編號 |
線路 |
車輛自編號 |
傳輸方式 |
媒體版本 |
日期 |
時間 |
狀態 |
if($_REQUEST['submit']!="") { do { ?> if($row[4]=="0") { $leixing="自動"; } else { $leixing="手動"; } if($row[8]=="fin") { $zhuangtai="完成"; } else { $zhuangtai="未完成"; } ?>
|
|
|
|
|
|
|
|
|
回複討論(解決方案)
加個識別欄位,顯示過的資料,更新為1.未顯示的為0,查詢時,只查詢標識為0的資料。
寫個判斷就好了,版本號碼相同時,取最大時間的記錄
能給個詳細判斷代碼嗎,本人小白,初學者
試試
$q = "SELECT *,max(媒體版本) FROM research where banben like '%{$_REQUEST['banben']}%' AND linename like '%{$_REQUEST['xianlu']}%' AND zhuangtai like '%{$_REQUEST['zhuangtai']}%' group by 媒體版本 order by max(媒體版本) busname asc";
就是取媒體版本的最大值,然後顯示
這不是很簡單嗎?
可以使用max函數.