За последние 24 часа нас посетили 17534 программиста и 1723 робота. Сейчас ищет 1691 программист ...

Проблемка

Тема в разделе "PHP и базы данных", создана пользователем Sleven, 2 авг 2006.

  1. Sleven

    Sleven Активный пользователь

    С нами с:
    18 июл 2006
    Сообщения:
    99
    Симпатии:
    0
    Адрес:
    Сургут
    Существует интернет-магазин, который работает на базе CMS Mambo и его компонента "EZ Store". Все данные о товарах хранятся в MySQL базе данных, в таблице "mos_ezstore":
    [​IMG]
    При заказе пользователем через сайт товара, скрипты оперируют полем "id" таблицы, по ней узнают какой именно товар заказан и именно "id"-ки заносятся в таблицу корзины пользователя.
    Когда-то один человек забил в базу весь товар магазина и данный товар заказывается нормально, поля данного товара показываются нормально:
    [​IMG]
    и при заказе пользователем одного из этих товаров, все срабатывает корректно.
    Есть также новый товар, который был вбит уже сотрудниками магазина, на сайте данный товар норально отображается, но при попытке заказать его, скрипту, отвечающему за корзину передаются неправильные "id", "id" совсем другого товара, причем одного (такое ощущение, что как будто передал 0, вместо всех необходимых id).
    В самой CMS Mambo "косячный" товар отображается идентично "правильному". Лезу в MySQL базу и делаю выборку полей "косячного товара", они уже выглядят совсем не так:
    [​IMG]
    Как видите еще показывает сообщение "вам необходимо указать первичный ключ для этой таблицы". Вот этого я не понимаю - ведь и "правильный", и "косячный" товар находятся в одной таблице, но получается для одних ключ назначен, а для других нет? как же его назначить всем?
     
  2. vlad-net

    vlad-net Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Москва
    Может не понял, но похоже тебе надо поле id сделать первичным ключом.
     
  3. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Вбит через myAdmin или через какой-то скрипт?
     
  4. Sleven

    Sleven Активный пользователь

    С нами с:
    18 июл 2006
    Сообщения:
    99
    Симпатии:
    0
    Адрес:
    Сургут
    vasa_c вбит через компонент "EzStore" CMS Mambo. Вообщем, изображенная на рисунках проблема оказалась не причем. Все дело в другом было:
    В таблице товаров id был типа int(100), а в таблице корзины, тот же id был уже типа tinyint(10) - потому и укорачивалось. Не знаю, может разработчик компонента Mambo так специально наложил ограничение на кол-во допустимых товаров, а может просто недоглядел. Ну а я только в последнюю очередь гнлянул на это поле - все искал ошибку в таблице товаров, да в скриптах.