Вопрос

Кажется, я нашел ошибку в 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

Например, когда я запускаю запрос вручную, у меня есть два продукта:

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

Он находит только один из них и делает то же самое для других продуктов.Кто-нибудь знает, почему это происходит?

Это должна быть подобная часть запроса, по которому я извлек группу и порядок, и даже первое предложениеwhere.Я попытался изменить столбец с utf_8 к latin_1.

enter image description here

enter image description here

enter image description here

Это было полезно?

Решение 2

Я так понимаю, перед названиями продуктов, которые не отображались, был пробел.

Другие советы

Если это 83 является полем p.product_id, то вы получите только одну из этих двух строк.Любые сгруппированные поля, в которых две или более строк имеют одинаковое значение, свернутся в одну строку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top