0 Пользователей и 1 Гость просматривают эту тему.
  • 184 Ответов
  • 37743 Просмотров
*

loony

  • Захожу иногда
  • 67
  • 1 / 0
а как сделать, чтобы товары, которых на складе "0" выводились, без "добавить в корзину"  и вместо цены "временно нет на складе"?
*

loony

  • Захожу иногда
  • 67
  • 1 / 0
спасибо! у меня это называлось "Проверять наличие на складе?". Что-то была уверена, что из публикации вылететь должно... :o
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
спасибо! у меня это называлось "Проверять наличие на складе?". Что-то была уверена, что из публикации вылететь должно... :o

Нет, из публикации убирается, если стоит "не показывать отсутствующие"
*

rewuxiin

  • Давно я тут
  • 544
  • 38 / 6
как поставить всему товару одну цену?

попробовал вот это
Код
update `jos_vm_product_price` 
set `product_price` = 490
where `product_id` in (SELECT `product_id` FROM `jos_vm_product_category_xref` WHERE `category_id` = 35)

он мне отвечает:
Цитировать
Затронуто строк: 0. ( запрос занял 0.0004 сек. )
UPDATE `jos_vm_product_price` SET `product_price` =490 WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =29
)
*

rewuxiin

  • Давно я тут
  • 544
  • 38 / 6
хм. понял, что заброс лишь обновляет цену у товара находящегося в  jos_vm_product_price

а как сделать чтобы автоматом выхватывало из jos_vm_product (вроде) и добавляло автоматом цену?
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
странно, так с атрибутами я не разобрался, а цены точно также работают...
Цитировать
update `jos_vm_product_category_xref`
set `category_id` = 135
where `category_id` = 2 AND `product_id` in (
                       SELECT `product_id`
                       FROM `jos_vm_product_price`
                       WHERE `product_price` > 1 AND `product_price` < 500)
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
Выбрать всех пользователей
SELECT * FROM jos_users

Показать все опубликованные статьи:
SELECT * FROM jos_content
WHERE state = '1'

Показать всех пользователей кроме "admin"
SELECT * FROM jos_users
WHERE username <> 'admin'

В предыдущих выражениях знак звездочки (*) обозначает показывать все столбцы. Теперь если мы хотим показать только email пользователей, выражение будет выглядеть так:
SELECT name, email FROM jos_users

Показать заголовки только опубликованных разделов
SELECT title FROM jos_sections
WHERE published = 1

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

Сортировка данных в MySQL

Для того чтобы выводить данные в определенном порядке, а не в том как они лежат в базе данных, используем конструкцию "ORDER BY", например сортировка id по возрастанию
SELECT * FROM jos_content
WHERE state ='1'
ORDER BY id ASC

или по убыванию id
SELECT * FROM jos_content
WHERE state ='1'
ORDER BY id DESC

так же никто не мешает сделать несколько сортировок (в порядке убывания приоритета)
SELECT * FROM jos_categories
ORDER BY published ASC, section ASC, id DESC

Ограничение вывода

Выведем 10 строк из таблицы jos_content
SELECT * FROM jos_content
LIMIT 0, 10

Для того чтобы чтобы выбрать начиная с 5 записи следующие 20, пишем следующее
SELECT * FROM jos_content
LIMIT 5, 20

Логические операторы SQL

MySQL поддерживает логические операторы, например выберем все материалы, старше 20 сентября 2008 года:
SELECT * FROM jos_content
WHERE state = '1'
AND created < '2008-09-20 00:00:00'

Усложним выбор несколькими условиями, кол-во просмотров не более чем 2000 и не меньше 1000:
SELECT * FROM jos_content
WHERE state = '1'
AND hits > '1000'
AND hits < '2000'
AND created < '2008-09-20 00:00:00'

И по традиции можно использовать скобки, чтобы явно указать приоритет среди сравнений:
SELECT * FROM jos_content
WHERE (sectionid = '5' OR sectionid = '6')
AND created < '2009-08-20 00:00:00'
ORDER BY created DESC
LIMIT 0, 10

Работа с текстом в MySQL

До этого мы оперировали только с числовыми типами данных, теперь попробуем с текстом. Из всех пользователей найдем только тех, имя которых начинаются на "a".
SELECT username
FROM jos_users
WHERE username LIKE 'a%'

Или заканчиваются на "о"
SELECT id,email,usertype
FROM jos_users
WHERE username LIKE '%о'

Функции MySQL

Кроме того есть набор встроенных в MySQL функций. Названия говорят сами за себя
SELECT AVG(hits) FROM jos_content
SELECT COUNT(*) FROM jos_content
SELECT MAX(hits) FROM jos_content
SELECT SUM(hits) FROM jos_content

К тому же эти функции можно использовать вместе с группировкой. Подсчитаем кол-во хитов для каждого из раздела, упорядочим по убыванию
SELECT sectionid, SUM(hits) AS hits.
FROM jos_content
GROUP BY sectionid
ORDER BY hits DESC

Вложенные запросы SQL

Допустим мы хотим использовать в своем запросе поле, которое определено в другой таблице. Например выберем все страницы, которые не выведены на главную
SELECT id, name
FROM jos_content
WHERE id NOT IN (SELECT content_id FROM jos_content_frontpage)

Объединения в MySQL

Применяются объединения когда нужно использовать данные более чем из одной таблицы. Выборка имени материала с категорией, таблицы объединены по соответствующим id. Чтобы избежать двусмысленности мы приписываем названия таблиц к имени поля через точку.
SELECT jos_categories.title, jos_content.title
FROM jos_content
JOIN jos_categories ON jos_content.catid = jos_categories.id
ORDER BY jos_categories.id

Дополнительно используем таблицу с jos_users, чтобы узнать имя автора материала.
SELECT jos_categories.title, jos_content.title, jos_users.username
FROM jos_content
JOIN jos_categories ON jos_content.catid = jos_categories.id
JOIN jos_users ON jos_content.created_by = jos_users.id
ORDER BY jos_categories.id

Теперь используем все накопленные знания в одном примере
view sourceprint?
SELECT jos_categories.title, jos_content.title, jos_users.username
FROM jos_content
JOIN jos_categories ON jos_content.catid = jos_categories.id
JOIN jos_users ON jos_content.created_by = jos_users.id
WHERE jos_content.state = '1'
AND jos_content.hits > '10'
AND jos_content.id NOT IN (SELECT content_id FROM jos_content_frontpage)
ORDER BY jos_categories.id
*

orexov_m

  • Захожу иногда
  • 297
  • 24 / 0
А можно команду при помощи которой всем товарам в магазине будет присвоен определенный тип товара Product_type?
Skype:orekhov.mikhail, ICQ: 580077720, Телега
*

Nsoft

  • Осваиваюсь на форуме
  • 14
  • 2 / 0
У меня есть вопрос: какая строчка в БД отвечает за показ цены в "Корзине".
Другими словами откуда корзина берет цену?
Ещё более детально, пример цена в тысячных на товар отображается верно - 0.025 руб. , а когда попадает в корзину с чего то округляется до сотых  - 0.030 руб. , и округление может быть как и в сторону продавца так и в сторону покупателя. Тобишь если цена - 0.024, то в корзину попадет цена - 0,020 руб.

З.Ы. Настройки в "Информации магазина" у меня это значение " Количество разрядов: 3 " влияют на отображение цены, и она корректная отображается  в тысячных , но уже в корзине округляется до сотых .
Это нужно для продажи мелких товаров количеством от 1000 штук. и более. Расчет общей цены как раз и происходит в корзине... а это значит, что за 1000 шт. покупатель заплатит 20руб. , при цене за 1 шт. 0.024 руб. ...
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
а когда попадает в корзину с чего то округляется до сотых  - 0.030 руб. , и округление может быть как и в сторону продавца так и в сторону покупателя. Тобишь если цена - 0.024, то в корзину попадет цена - 0,020 руб.
Правильное бухгалтерское округление.
В basket.php вместо
Код
$product_price = round( $product_price, 2 );
сделайте
Код
$product_price = round( $product_price, 3 );
*

Nsoft

  • Осваиваюсь на форуме
  • 14
  • 2 / 0
Это невероятно, очень ценная информация. И настолько простая!
даже не знаю что и написать, поставил бы "+" , но не могу, да у вас их и так хватает  ;)
Спасибо, решили много проблем.

Всем Здравствуйте! Тема отличная и необходимая (особенно для ламеров типа меня  ::) ). Не судите строго, вроде бы прочитал всю тему, нашел много полезного и очень пожалел что не знаком с sql. Вопрос в следующем: Каким запросом можно сделать выборку товаров из всех категорий по искомой фразе (например - 18") и вставить их в новую категорию и естественно с новым артикулом? А к артикулу прибавить например букву N. Я понимаю логику, но синтаксис , увы crazy!...  !
*

4Gen

  • Захожу иногда
  • 174
  • 7 / 0
Нужно обновить артикулы товара.
Было: 12345
Стало: 00000012345 (6 нолей и 5 цифр)

Но есть еще и такое
Было: 1234
Стало: 00000001234 (7 нолей и 4 цифры)

Можно ли через БД такое сделать?
Немогу обновлять товар, так как ко всем артикулам добавились нули - без них в 1С никуда, поэтому приходится мучаться.
Заранее благодарен.
*

orexov_m

  • Захожу иногда
  • 297
  • 24 / 0
Подскажите что не так в команде пытаюсь в файл вывести значок скидки для этого надо получить product_discount_id
SELECT product_discount_id FROM jos_vm_product WHERE product_id='$product_id'
выводит везде значение равное 1 хотя это не так. как правильно написать чтобы product_id определялся как надо?
Skype:orekhov.mikhail, ICQ: 580077720, Телега
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

orexov_m

  • Захожу иногда
  • 297
  • 24 / 0
полный код запроса покажите.
Может код скидки равен 1?
Код
$query='SELECT product_discount_id FROM jos_vm_product WHERE product_id='.$product_id;
спасибо, но я уже решил проблемы через другую переменную
Skype:orekhov.mikhail, ICQ: 580077720, Телега
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Скажите пожалуйста. Как сделать скидку на весь товар известно
UPDATE jos_vm_product_price SET product_price = product_price*0.9

А как наоборот прибавить к стоимости товара 10% ?

И есть ли какая-то команда, чтоб округлить цену? Например выбивается 3 858 а надо 3850 ?
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Код
UPDATE jos_vm_product_price SET product_price = ROUND(product_price*1.1)

Спасибо, данная функция увеличивает, но не округляет. Возможно ли как-то округлить стоимость?
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
если тема еще жива.. у меня на сайте много дочерних товаров.. как поменять цену им??
*

rewuxiin

  • Давно я тут
  • 544
  • 38 / 6
может быть подскажете как удалить непривязанные параметры типов?

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

изза этого ужас как тормозит модуль подбора по типам.
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
зачем вам писать легкий ответ состоящий из условий, всё просто, посмотрите в базе все таблицы vm_, посмотрите 3 страницы топика (накрайняк погуглить), здесь куча примеров, всё пригодится, заставьте свой мозг немного подумать на тестовой базе и состыковать, и попереставлять местами sql условия, а если ничего не получится то тогда возвращаемся на форум и всё рассказываем, по возможности всегда подскажем что не так, все мы люди, но ещё все ценят свое время...
*

orexov_m

  • Захожу иногда
  • 297
  • 24 / 0
Здравствуйте
Подскажите как надо написать запрос в базу данных, чтобы вывести цену
соответствующую определенной группе пользователей.
Пробовал так
Код
<?php $cena1 = mysql_query("SELECT product_price FROM jos_vm_product_price WHERE product_id='product[product_id]'");
if (!$cena1) die(mysql_error());
$cenanew = mysql_result($cena1,0,0); ?>
<span> Цена : <?php echo $cenanew ?></span>
почему то не выводит ничего :(
Skype:orekhov.mikhail, ICQ: 580077720, Телега
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Не подскажите, как округлить стоимость товара?
Например выбивается 6 568 а надо 6 560 ?
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
round(6568/10,0)*10
только округлится по правилам - 6568 - в 6570
если нужно 6560 - берите целую часть

Спасибо, вероятно я неправильно выразился, как округлить подобным образом все цены к каталоге? А не только конкретную.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Код
update jos_vm_product_price set product_price=round(product_price/10,0)*10
я надеюсь проверять будете на копии таблицы

Да, конечно на копии =). Большое спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройка магазина

Автор Wargoth

Ответов: 0
Просмотров: 1181
Последний ответ 25.06.2013, 12:45:11
от Wargoth
Меню товаров для магазина

Автор vantal

Ответов: 0
Просмотров: 1090
Последний ответ 05.05.2012, 01:59:23
от vantal
Удалить из базы все неопубликованные товары. Как?

Автор qazaq1

Ответов: 0
Просмотров: 1187
Последний ответ 10.01.2012, 15:28:12
от qazaq1
Как удалить товары из магазина?

Автор Russkiy

Ответов: 3
Просмотров: 4446
Последний ответ 08.10.2010, 14:36:11
от valagoff
Как реализовать комиссию магазина?

Автор GrayHunter

Ответов: 2
Просмотров: 1391
Последний ответ 10.08.2010, 00:44:09
от GrayHunter