/ / Dupliziert mit INNER JOIN sogar mit DISTINCT - php, mysql, distinct

Dupliziert mit INNER JOIN sogar mit DISTINCT - php, mysql, distinct

Da ich Bilder von einem anderen Tisch hinzugefügt habe, gibt es mir Duplikate und ich habe keine Ahnung warum. Ich habe bereits DISTINCT eingegeben, aber ohne Ergebnis.

Hier sehen Sie die Tabelle "Fotos". Die Ergebnisse meines Codes wären zweimal "Internnummer 1" und dreimal "Internnummer 2".

Intern | VolgNR | Fotonaam
1 | 0 | Image_1.jpg
1 | 1 | Bild_2.jpg
2 | 0 | Bild_3.jpg
2 | 1 | Bild_4.jpg
2 | 2 | Bild_5.jpg

Im Code habe ich es bereits gemacht, dass nur Bilder mit "VolgNr" 0 angezeigt werden. Trotzdem dupliziert es den Rest der Daten.

Alles funktioniert gut, wenn ich das benutze, außer natürlich das Bild.

sql = "SELECT DISTINCT * VON Gelegenheiten INNER JOIN fotos ON Gelegenheiten.Internnummer = fotos.Internummer";

Vollständiger Code:

<?php

$sql = "SELECT DISTINCT * FROM occasions INNER JOIN fotos ON occasions.Internnummer = fotos.Internnummer";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {
echo
"<div class="oc-item">" .
// Product image
"<div class="oc-image">" .
"<img src="/images/http://example.com/images/" . ($row["VolgNr"] == 0 ? $row["Fotonaam"] : $row["OmschrijvingNL"]) . ""/>" .
"</div>".
// Product information
"<div class="oc-info"><b>" .
"<a href="occasion?id=".$row["Internnummer"]."" >". $row["OmschrijvingNL"]. "</a>" .
"</b>".
"<p>" . ($row["Prijs"] == 0 ? "Prijs op aanvraag" : $row["Prijs"]) . "</p><br />" .
"<p>" .
$row["Memotekst1NL"]. "</p>" . "<p>" .
$row["Memotekst2NL"]. "</p>" . "<p>" .
$row["Memotekst3NL"]. "</p>" . "<p>" .
$row["Memotekst4NL"]. "</p>" . "<p>" .
$row["Memotekst5NL"]. "</p>" . "<p>" .
"<a href="occasion?id=".$row["Internnummer"]."" >"."Lees meer..."."</a>" .
"</div>" .

"</div>";

}

} else {
echo "Geen resultaten gevonden.";
}
?>

Antworten:

0 für die Antwort № 1

Das Problem war leicht zu lösen. Ich habe WHERE hinzugefügt und die Duplikate sind weg.

SELECT * FROM fotos INNER JOIN occasions ON occasions.Internnummer = fotos.Internnummer WHERE VolgNr = 0