Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: INSERT, который на самом деле UPDATE
 
 автор: elenaki   (14.01.2011 в 07:35)   письмо автору
 
 

есть несколько таблиц, в которых хранятся данные на двух языках в соответсвующих полях (descr_en, descr_gr и т.д.)
есть формы для введения и редактирования этих данных в с полями, соответственно, тоже в двух вариантах (en, gr)
я всегда так делала - хочешь, заполняй сразу оба поля. не хочешь, можно потом зайти в редактирование и заполнить.

но клиент попался ламер из ламеров. не хочет видеть в форме одинаковые поля для разных языков. хочет сам выбрать язык, на котором заносятся записи, и заполнять только поля на выбранном языке.

проблема в том, что занеся, допустим, один товар на английском (он занесется, конечно, с пустыми полями на греческом), он через неделю захочет занести ТОТ же товар на греческом, но не пойдет искать его в списке товаров, а сделает ADD, т.е. занесет ТОТ же товар с полями на греческом, но уже с ДРУГИМ id.

я не могу ему запретить делать INSERT, но это будет неправильно, потому что в данном случае должн быть UPDATE. а как же я узнаю, есть ли уже именно этот товар в базе, если у меня нет id, который я могу узнать, только если он выберет уже существующий товар из списка?

надоело бороться с идиотами...

  Ответить  
 
 автор: sim5   (14.01.2011 в 08:10)   письмо автору
 
   для: elenaki   (14.01.2011 в 07:35)
 

Ну ID то можно узнать (по отсутствию аналогичной записи на другом языке), а вот как узнать, что пользователь тот же товар вносит, это посложнее, тем более язык другой.

  Ответить  
 
 автор: Trianon   (14.01.2011 в 09:13)   письмо автору
 
   для: elenaki   (14.01.2011 в 07:35)
 

сделать уникальный ключ по полю естественного уникального идентификатора.
По штрихкоду например.

Вообще-то если клиент принимает участие в формировании модели данных, то такие неувязки стоит утрясать на более ранних этапах - до формирования алгоритмов, и собственно кодирования.

  Ответить  
 
 автор: elenaki   (14.01.2011 в 09:28)   письмо автору
 
   для: Trianon   (14.01.2011 в 09:13)
 

я просто скрою пока поля (javascript'ом) на втором языке, а в админке напишу огромными красными буквами - "перед тем, как заносить товар, убедитесь, что его нет в списке"

просто этот тип себе же хуже сделает. при занесении товара можно, в случае, если нет нужного произвоителя, внести нового (en, gr). если он внесет производителя только на одном языке, то потом, когда будет заноситься товар на другом языке, придется снова заносить и производителя, которого опять не будет в списке. т.е. получится дублирование.

а все из-за того, что клиент возомнил, что он тоже "программист". с обычными ламерами можно справиться парой-тройкой "научных" терминов.

  Ответить  
 
 автор: SHAman   (14.01.2011 в 10:02)   письмо автору
 
   для: elenaki   (14.01.2011 в 09:28)
 

Я так понимаю, есть описание товара на двух языках, так? Ну так и надо сделать id товара и два разных описания на разных языках для этого товара. Просто разнести это в соотношении 1-много. Так будет правильней всего. То есть, Трианон правильно все сказал - нужен единственный идентификатор.

  Ответить  
 
 автор: Trianon   (14.01.2011 в 10:06)   письмо автору
 
   для: SHAman   (14.01.2011 в 10:02)
 

а толку-то :)
Если там клиент - программист, который мнит себя за рамками команды, как заказчик, это ж и вправду тяжелый случай.

  Ответить  
 
 автор: elenaki   (14.01.2011 в 10:19)   письмо автору
 
   для: Trianon   (14.01.2011 в 10:06)
 

клиент, которому мы делаем сайт, на самом деле не конечный пользователь. он потом все, что мы делаем, передает еще одному. тот как раз обычный ламер и согласился бы с нашими доводами, если б мы могли общаться напрямую.

а этот присылает мне какую-то ссылку на админку (которую, кроме ее мамы никто не знает) и говорит - хочу так. хочешь так - давай код. не дает. я должна догадываться обо всех возможностях неизвестной мне админки...

  Ответить  
 
 автор: Trianon   (14.01.2011 в 11:18)   письмо автору
 
   для: elenaki   (14.01.2011 в 10:19)
 

ну так вольно ж было впрягаться мышонком эту пищевую цепочку. :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования