开发者

Sift out dubbels

Dear Sir/Mam iam trying to sort duplicates from a table. I want to check if a name has teh same streetname and then only show the first result of those, resulting in unique names ommitting the doubles. I tried the distinct(name) and the group by statements but to no avail. Group by ended up limmiting my results

$klantquery = "SELECT name, ID, street, tel, email FROM  customers where name LIKE '%$search%' ORDER BY name ASC";    

This query开发者_开发问答 works but shows all records i need to sift out the extra ones? in order to show only unique results.

iam using mysql and php So now i used this query:

$klantquery = "SELECT DISTINCT naam,straat,email,huisnummer,plaats,date FROM ".$GLOBALS["klanten"]." where naam LIKE '%$klantsearch%' ORDER BY naam ASC";

Works like a charm but it omits the ID row in the results so its useless?? How do include the ID field in the results? Where is the logic?


Got it first i selected the records i needed with distinct then later added the IDs with a subquery, elegant not realy, works though.

$klantquery = "SELECT Distinct naam,straat,email,huisnummer,plaats,date FROM ".$GLOBALS["klanten"]." where naam LIKE '%$klantsearch%' ORDER BY naam ASC";                

while ($result=$klantpaging->result_assoc()) {

  $subquery = "SELECT ID,naam,straat FROM ".$GLOBALS["klanten"]." where naam='".addslashes($result['naam'])."' AND straat='".$result['straat']."'"; 
  $subresult = mysql_query($subquery) or die("Query failed : " . mysql_error());
  while ($subline = mysql_fetch_assoc($subresult)) {  
    $result[ID] = $subline[ID];
  }
  $klantrecords[] = $result;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜