axel: auslesen + anzeigen

hallo forum,

ich habe ein kleines problem.
in einer adressdatenbank (mySQL) sind die daten von handwerkern gespeichert.
diese daten kann man durchsuchen, allerdings habe ich das problem,
dass manche adressen mehrfach auftauchen weil der betreffende datensatz in verschiedenen rubriken gelistet ist.
wie schaffe ich es bei der suchabfrage, dass, egal wie oft der datensatz in der datenbank zu finden ist immer nur einmal ausgelsen wird ?
ich habe es mit "select distinct" versucht, klappt aber nicht...

weiss jemand rat ?

hier das script

<?php
  if ($suchtext)
  {
  $suchtext = addslashes($suchtext);
  $suchbegriffe = explode("+",$suchtext);
  $anzahl = count($suchbegriffe);
  $pre_result = mysql_query("select * from adressen", $conn);
  $fields = mysql_num_fields($pre_result);
  $name="SELECT distinct * FROM adressen WHERE (";
  for($i=0;$i < count($suchbegriffe);$i++)
  {
   $suchbegriffe[$i] = trim($suchbegriffe[$i]);
   for ($j=0 ;$j < $fields; $j++)
   {
    $name.= "(".mysql_field_name($pre_result,$j)." LIKE '%$suchbegriffe[$i]%')";
      if ($j < $fields -1)
    {
     $name .= " OR ";
    }
   }
   if (($i < $anzahl-1) && ($anzahl > 1))
   {
    $name .= ") AND ( ";
   }
  }
  $name.=" AND (rid LIKE '%$smode%'))";
  $query = $name." order by plz, firma";
  
  if (!$a)
  {
   $a = 0;
  }
  if (!$c)
  {
   $c = 10;
  }
  $result2 = mysql_query($query." limit $a,15", $conn);
  $rows = mysql_num_rows($result2);
  $farbe = "#dddddd";
  if ($rows != 0)
  {
   ?>

danke für alle antworten...

axel

  1. Hallo,

    SQL:

    SELECT DISTINCT ....... from .... where .....;

    lg
    Ludwig