SQL Abfrage aus Array, Datensätze verdoppeln sich?

Registrierer

Erfahrenes Mitglied
PHP:
<?php
include ('funktionen/datenbankverbindung.php');
echo "<pre>". print_r($_POST['auswahl'], true) ."</pre>";
if (isset($_POST['auswahl'])) {
  foreach ($_POST['auswahl'] as $nummern) {
    $kfz = mysql_query("SELECT DISTINCT kunden.KDNR,kunden.ANREDE,kunden.NAME_1,kunden.NAME_2,kunden.STRASSE,kunden.PLZ,kunden.ORT,
    kfz.LTZ_TUF,kfz.KURZNAME,kfz.BEZ_1,kfz.AMTKZ FROM kunden Inner Join kfz ON kunden.KDNR = kfz.KDNR WHERE kunden.KDNR = ".$nummern."");
    while ($zeile = mysql_fetch_array($kfz))  {
      echo $zeile['KDNR']."<br>";
    }
  }
}?>
Die Ausgabe sieht so aus:
Code:
Array
(
    [0] => 1334
    [1] => 1449
)

1334
1334
1449
1449
Das Array beinhaltet also 2 Einträge, die SQL Abfrage 4!
Wie kommt das? Der Fehler liegt in der Abfrage, aber wo?
 
Moin,

das DISTINCT, welches du dort notiert hast, bezieht sich nicht nur auf kunden.KDNR, sondern auf das komplette Ergebnis...alles muss eindeutig sein.

Ich nehme mal an, die beiden Kunden haben mehrere Autos, und zwar jeder 2:-).

Wenn du wirklich nur die eindeutige KDNR haben willst, dann hole auch nur diese(dein Distinct sollte dann den gewünschten Erfolg bringen).
Wenn du mehr Infos zum Kunden benötigst, gruppiere nach KDNR.
 
Zurück