Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2014, 07:14   #1
lingvo
 
Регистрация: 16.11.2014
Сообщений: 5
По умолчанию Выборка из базы данных

Добрый день.
У меня есть две таблицы, dle_vote и dle_vote_result. Они имеют такую структуру
dle_vote_result - id, vote_id (ид вопроса), name (имя проголосовавшего), answer (номер варианта ответа).
dle_vote - id (ид вопроса), title (название опроса), body (содержит, варианты ответа на вопрос)
Мне нужно вывести на сайте, кто и за какой вариант ответа проголосовал, в зависимости от вопроса.
Т.е например у меня есть два опроса - Как дела? и Как Погода?
Мне нужно чтобы на сайте вывело
Как дела?
lingvo - 1 (можно и вариант ответа) либо нормально
test - 2 либо отлично
И т.д.
Как Погода?
lingvo - 0 (можно и вариант ответа) либо плохо
test - 1 либо сойдет
И т.д

Пока пришел к такому виду, он выводит всех пользователей по всем опросам (исключая гостей).
На данный момент имеет вот такой вид
2 (id вопроса) lingvo (ник пользователя) - 0 (выбранный вариант ответа), 2test - 1, 1lingvo - 1, 1test - 2,

PHP код:
<?php
$result
*=*$db->query("SELECT*DISTINCT*`vote_id`,*`answer`*,*`name`**FROM*`".*PREFIX*."_vote_result`*ORDER*BY*`vote_id`*DESC");
$row*=*@mysql_fetch_array($result);

while*(
$row*=*$db->get_row())*{
if*(
$row['name']*!=*'guest'){
**echo*
"".$row['vote_id']*;
**echo*
"<a*href='/user/".$row['name']."'>".$row['name']."</a>".$row['title']."*-*".$row['answer'].",*";}
**}
?>
lingvo вне форума Ответить с цитированием
Старый 20.11.2014, 08:18   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Нужно использовать JEFT JOIN
например для конкретного вопроса с номером $id
Код:
SELECT v.*, r.* dle_vote as v LEFT JOIN dle_vote_result AS r ON v.id=r.vote_id WHERE v.id=$id GROUP BY r.name
получим всех проголосовавших с результатами
ADSoft на форуме Ответить с цитированием
Старый 20.11.2014, 14:17   #3
lingvo
 
Регистрация: 16.11.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Нужно использовать JEFT JOIN
например для конкретного вопроса с номером $id
Код:
SELECT v.*, r.* dle_vote as v LEFT JOIN dle_vote_result AS r ON v.id=r.vote_id WHERE v.id=$id GROUP BY r.name
получим всех проголосовавших с результатами
Спасибо. немного по другому решил)
lingvo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка сведений из базы данных sinobithug PHP 4 08.12.2010 20:25
Выборка по очереди записей из базы данных mulatoschka1990 Помощь студентам 3 18.03.2010 16:31
Выборка из базы данных fygas1991 PHP 3 07.12.2009 23:54
выборка из базы Alex_2007_bur БД в Delphi 18 04.09.2009 12:14