質問

でバグを見つけたと思います opencart そのため、注目のモジュールには製品を提案するオートコンプリートボックスがありますが、大量のものがスキップされているようです。コードを調べてみると、すべては次のデータベース クエリに集約されるようです。

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

たとえばクエリを手動で実行すると、次の 2 つの製品があります。

TI | 83 | Brand New
TI | 83 | Like New

そのうちの 1 つだけが見つかり、他の製品でも同様に実行されます。なぜこれが起こるのか誰かに心当たりはありますか?

これは、group by と order by、さらには最初の where 句を取り出したクエリの一部である必要があります。から列を変更してみました utf_8latin_1.

enter image description here

enter image description here

enter image description here

役に立ちましたか?

解決 2

表示されなかった製品名の前にスペースがあったことがわかりました

他のヒント

もしそうなら 83 が p.product_id フィールドの場合、これら 2 つの行のうち 1 つだけが取得されます。2 つ以上の行が同じ値を持つグループ化されたフィールドは、1 つの行に折りたたまれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top