MySQL-ähnliches Problem [geschlossen]
Frage
Ich glaube, ich habe einen Fehler gefunden opencart
Daher gibt es im vorgestellten Modul ein Feld zur automatischen Vervollständigung, das Produkte vorschlägt, aber scheinbar eine ganze Reihe überspringt.Nach der Untersuchung des Codes sieht es so aus, als ob alles auf diese Datenbankabfrage hinausläuft:
SELECT *
FROM calcproduct p
LEFT JOIN calcproduct_description pd ON (p.product_id = pd.product_id)
WHERE pd.language_id = '1' AND LCASE(pd.name) LIKE 'ti %'
GROUP BY p.product_id
ORDER BY pd.name ASC LIMIT 0,20
Wenn ich die Abfrage beispielsweise manuell ausführe, habe ich zwei Produkte:
TI | 83 | Brand New
TI | 83 | Like New
Es findet nur eines davon und tut dies auch für andere Produkte.Hat jemand eine Ahnung, warum das passiert?
Es muss derselbe Teil der Abfrage sein, den ich aus „group by“ und „order by“ und sogar der ersten „where“-Klausel herausgenommen habe.Ich habe versucht, die Spalte von zu ändern utf_8
Zu latin_1
.
Lösung 2
Ich habe herausgefunden, dass vor den Produktnamen, die nicht angezeigt wurden, ein Leerzeichen stand
Andere Tipps
Wenn das 83
ist das Feld p.product_id, dann würden Sie immer nur eine dieser beiden Zeilen erhalten.Alle gruppierten Felder, in denen zwei oder mehr Zeilen denselben Wert haben, werden zu einer einzigen Zeile zusammengefasst.