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

Форум MySQL

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

 

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

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

тема: Позиция для товара
 
 автор: dirol   (24.05.2013 в 11:18)   письмо автору
 
 

Добрый всем день.
Есть каталог товара, клиент хочет чтобы у каждой товарной позиции, была своя позиция (level).
Вот добавление я то сделал, при добавлении товара

 $result5 = $db->sql_query("SELECT level FROM shop WHERE cid='$cid' ORDER BY level DESC LIMIT 1");
list($level) = $db->sql_fetchrow($result5);
$level = $level+1;


это все работает, отлично.

И тут вопрос как изменить позицию товара? ее положение если скажем администратор у определеного товара который был 55 ставит чтобы он был 10, как все это отсортировать сменить позиции товарам?

все позиции товара имеют значение, в общем списке
<input name="level[]" type="text" value="">

и вот как отсортировать все, когда сменится позиции или позиции у определенных товарах

  Ответить  
 
 автор: Sfinks   (24.05.2013 в 12:15)   письмо автору
 
   для: dirol   (24.05.2013 в 11:18)
 

Вы в разделе MySQL показали код PHP, SQL и HTML.
При чем о структуре данных - ни слова.
И ни слова о том, как изменяется позиция.
И не понятно собственно в чем вопрос: как изменить данные или как пересортировать их на HTML-странице?

Если первое, то покажите результат запроса
SHOW CREATE TABLE shop
и разъясните, что значит
все позиции товара имеют значение, в общем списке
 <input name="level[]" type="text" value="">


Если второе, то вам в раздел HTML+CSS+JavaScript

  Ответить  
 
 автор: confirm   (24.05.2013 в 12:24)   письмо автору
 
   для: dirol   (24.05.2013 в 11:18)
 

Обновлять надо - сперва всем товарам уровнем более 9 установить уровень равный текущему плюс 1, после чего товару с уровнем равным 56 установить уровень 10. Будет прореха со значением 56, можно и устранить сместив вверх (уровень минус - 1 для уровней больше 56), а можно и плюнуть - сортировка то будет требуемая. Правда может набраться дыр много при рокировках.

Если сортировка, это сперва в полях формы определить ее, то это можно сделать как на клиенте (JS), так и на сервере, если форма предполагает ввод значения сортировки, или перетаскиваются поля в форме.

  Ответить  
 
 автор: Sfinks   (24.05.2013 в 13:27)   письмо автору
 
   для: confirm   (24.05.2013 в 12:24)
 

> если форма предполагает ввод значения сортировки
(а похоже что так оно и есть)
.... то еще нужно проверить, что там навводили.
Чел может по ошибке и одинаковых значений наставить. Поэтому я и просил интерфейс сортировки описать. И поэтому же лучше отказаться от "все позиции товара имеют значение, в общем списке <input name="level[]" type="text" value="">" и прибегнуть к сортировке перетаскиванием либо стрелками смещения строки вверх/вниз, так, чтобы изменялось за одно обращение по одному значению.
Тогда, если например изменяется позиция 56 на 10, то можно использовать такой запрос:
UPDATE shop
SET level = if( level=56, 10, level+1 )
WHERE level BETWEEN 10 AND 56
при перемещении вверх, либо если изменяется 10 на 56 (перемещение вниз), то:
UPDATE shop
SET level = if( level=10, 56, level-1 )
WHERE level BETWEEN 10 AND 56

  Ответить  
 
 автор: confirm   (24.05.2013 в 13:44)   письмо автору
 
   для: Sfinks   (24.05.2013 в 13:27)
 

Ну это уже не мои проблемы, стрелками, тасканием... )
Че гадать, не известно где, и самое главное не известно сколько. Если перемещается одна позиция, то просто, если несколько и по ранжиру могут быть вверх и вниз, то все сложнее будет.
Так что дождитесь пока объяснят, а потом... )

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

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