Задавайте вопросы, мы ответим
Вы не зашли.
есть запрос списка магазинов на сайте, попробую объяснить:
//запрос списка магазинов
$sql = "
SELECT
COUNT(db.user_id) as count,
shop.*,
usr.name as user_name,
usr.id as user_id
FROM ".PREF."users_shop shop
LEFT OUTER JOIN ".PREF."users usr ON usr.id = shop.user_id
LEFT OUTER JOIN ".PREF."db db ON (db.user_id = shop.user_id) AND (db.status=1 ".$shop_categories.")
WHERE shop.status=1
".$shop_regions."
".$shop_categories."
".$shop_payed."
GROUP by shop.id
ORDER by id desc
";
тоесть они выводятся из базы по id (ORDER by id desc) , из таблицы FROM ".PREF."users_shop , если я правильно понимаю
я добавил к магазинам рейтинг +/- который пишется в таблицу voting (без прификса общеего), как к этому запросу добавить чтобы он делал то что делает сейчас без ущерба, но еще обходил таблицу voting и сортировал магазины не по id , а по полю vote из таблицы voting тоесть как я понимаю ORDER by vote desc
Помогите плз, методом тыка пробовал неполучается , не шарю в этом вопросе настолько чтобы самому решить! Спасибо!
Неактивен
в таблице voting для каждого магазина одна запись или несколько?
по каким полям связаны таблицы voting и ".PREF."users_shop ?
Неактивен
если вы про то как голосование к каждому магазину привязано то по id магазина ну в скрипте самом, а в базе связаны никак наверное если я правильно понимаю, просто есть стандартные магазины в скрипте я сам в них сделал рейтинг, за каждый магазин можно голосовать +\- , рейтинг работает, пишется в базу в отдельную таблицу
Неактивен
для каждого магазина в поле vote одна запись смо собой 0,1 или 7 ну и т.д.
Неактивен
магазины сортируются по id то есть в том порядке как их создают более новый первый и т.д. , а я хочу сделать и прошу помощи как бы изменить этот запрос чтобы они выводились по кол-ву голосов из таблицы voting по полю vote , как то дописать чтоли, я не шарю, поэтому за помощью и обратился на Ваш форум
Неактивен
..
FROM ".PREF."users_shop shop
join voting on shop.id=voting.`id магазина`
..
ORDER by vote desc
Неактивен
мб это важно и вы об этом спрашивали (про связку) само голосование выводится так <div class="vot_updown2" id="vt_{%$shop.id%}"></div>
тоесть в таблице voting есть еще поле item где пишется магазины по id тоесть такого вида vt_1 vt_2 и к ним в поле vote кол-во голосов...
vt_ это в таблице голосование к которому плюсуется {%$shop.id%} из таблицы магазинов я так понимаю vt_{%$shop.id%}
Отредактированно SERblY (04.08.2017 14:37:21)
Неактивен
как вы написали не работает выдает Unknown column 'voting.shop.id' in 'on clause'Unknown column 'voting.shop.id' in 'on clause'
я сделал так как вы написали
//запрос списка магазинов //upd170216
$sql = "
SELECT
COUNT(db.user_id) as count,
shop.*,
usr.name as user_name,
usr.id as user_id
FROM ".PREF."users_shop shop
join voting on shop.id=voting.`shop.id`
LEFT OUTER JOIN ".PREF."users usr ON usr.id = shop.user_id
LEFT OUTER JOIN ".PREF."db db ON (db.user_id = shop.user_id) AND (db.status=1 ".$shop_categories.")
WHERE shop.status=1
".$shop_regions."
".$shop_categories."
".$shop_payed."
GROUP by shop.id
ORDER by vote desc
";
Неактивен
вместо `id магазина` нужно указать имя столбца из таблицы voting, в котором хранится идентификатор магазина.
Неактивен
сделал
//запрос списка магазинов //upd170216
$sql = "
SELECT
COUNT(db.user_id) as count,
shop.*,
usr.name as user_name,
usr.id as user_id
FROM ".PREF."users_shop shop
join voting on shop.id=voting.`item`
LEFT OUTER JOIN ".PREF."users usr ON usr.id = shop.user_id
LEFT OUTER JOIN ".PREF."db db ON (db.user_id = shop.user_id) AND (db.status=1 ".$shop_categories.")
WHERE shop.status=1
".$shop_regions."
".$shop_categories."
".$shop_payed."
GROUP by shop.id
ORDER by vote desc
";
Ваще нечего не выводит (((( блин
Неактивен
join voting on shop.id=concat('vt_',voting.`item`)
Неактивен
//запрос списка магазинов //upd170216
$sql = "
SELECT
COUNT(db.user_id) as count,
shop.*,
usr.name as user_name,
usr.id as user_id
FROM ".PREF."users_shop shop
join voting on shop.id=concat('vt_',voting.`item`)
LEFT OUTER JOIN ".PREF."users usr ON usr.id = shop.user_id
LEFT OUTER JOIN ".PREF."db db ON (db.user_id = shop.user_id) AND (db.status=1 ".$shop_categories.")
WHERE shop.status=1
".$shop_regions."
".$shop_categories."
".$shop_payed."
GROUP by shop.id
ORDER by vote desc
";
К сожалению опять нечего не выводит....Ошибки нет никакой, просто тупо пусто!
Отредактированно SERblY (04.08.2017 15:24:29)
Неактивен
сделайте на http://sqlfiddle.com/ пример с тестовыми данными
Неактивен
если тупо скопировать код туда то You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$sql = "
SELECT
COUNT(db.user_id) as co' at line 1
я хз , Вы так пишите как будто я шарю в этом, я поэтому и обратился за помощь, что куда какие данные я хз
Неактивен
походу сложный вопрос, блин знатоки помогите с этим долбаным запросом! Спасибо в любом случае за Ваше время и помощь !
Неактивен
в левом окне пишите запросы на создание нужных для запроса таблицы и заполняете их тестовыми данными (create table .. и insert into)
нажимаете синюю кнопку "build schema"
пишите здесь сгенерированную ссыку
Неактивен
Вы поможете с запросом или ????
Неактивен
Не надо апать, Вас же попросили сделать пример на sqlfiddle с тестовыми данными. Вот его и сделайте и кидайте сюда ссылку, апанье не поможет.
Неактивен
я незнаю как сделать, прошу помощи
Неактивен
ребят не получается, помогите с запросом, в первом посте описал как смог!
Неактивен
vasya написал:
в левом окне пишите запросы на создание нужных для запроса таблицы и заполняете их тестовыми данными (create table .. и insert into)
нажимаете синюю кнопку "build schema"
пишите здесь сгенерированную ссыку
я не пользовался этим сервисом, я Вам всю инфу скинул, помогите правильно составить
Неактивен