Существует интернет-магазин, который работает на базе CMS Mambo и его компонента "EZ Store". Все данные о товарах хранятся в MySQL базе данных, в таблице "mos_ezstore": При заказе пользователем через сайт товара, скрипты оперируют полем "id" таблицы, по ней узнают какой именно товар заказан и именно "id"-ки заносятся в таблицу корзины пользователя. Когда-то один человек забил в базу весь товар магазина и данный товар заказывается нормально, поля данного товара показываются нормально: и при заказе пользователем одного из этих товаров, все срабатывает корректно. Есть также новый товар, который был вбит уже сотрудниками магазина, на сайте данный товар норально отображается, но при попытке заказать его, скрипту, отвечающему за корзину передаются неправильные "id", "id" совсем другого товара, причем одного (такое ощущение, что как будто передал 0, вместо всех необходимых id). В самой CMS Mambo "косячный" товар отображается идентично "правильному". Лезу в MySQL базу и делаю выборку полей "косячного товара", они уже выглядят совсем не так: Как видите еще показывает сообщение "вам необходимо указать первичный ключ для этой таблицы". Вот этого я не понимаю - ведь и "правильный", и "косячный" товар находятся в одной таблице, но получается для одних ключ назначен, а для других нет? как же его назначить всем?
vasa_c вбит через компонент "EzStore" CMS Mambo. Вообщем, изображенная на рисунках проблема оказалась не причем. Все дело в другом было: В таблице товаров id был типа int(100), а в таблице корзины, тот же id был уже типа tinyint(10) - потому и укорачивалось. Не знаю, может разработчик компонента Mambo так специально наложил ограничение на кол-во допустимых товаров, а может просто недоглядел. Ну а я только в последнюю очередь гнлянул на это поле - все искал ошибку в таблице товаров, да в скриптах.