kingkill 7 Опубликовано: 17 августа 2010 Рассказать Опубликовано: 17 августа 2010 Добрый день. Такой вопрос: в БД сайта есть раздел users, в нем у меня есть поле points. У каждого юзера свое значение в points хранится. Я хочу это значение отобразить в у каждого в профиле. Как должен выглядеть такой запрос? Заранее благодарен. Цитата Ссылка на сообщение Поделиться на других сайтах
hotdj 33 Опубликовано: 17 августа 2010 Рассказать Опубликовано: 17 августа 2010 Добрый день. Такой вопрос: в БД сайта есть раздел users, в нем у меня есть поле points. У каждого юзера свое значение в points хранится. Я хочу это значение отобразить в у каждого в профиле. Как должен выглядеть такой запрос? Заранее благодарен. Ты пользуешься модулем система баллов? =)) Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 SELECT points FROM `dle_users` WHERE id='100' Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 (изменено) Автор Ты пользуешься модулем система баллов? =)) Нет) У меня спортивный сайт и я пользуюсь модулем тотализатора) kpravda, Я не помню, какая переменная отвечает за ID пользователя... $user_id? После того как вставляю в шаблон строку <? SELECT points FROM `dle_users` WHERE id='$user_id' ?> Вылазит ошибка на страницах профиля: Parse error: syntax error, unexpected T_STRING in /var/www/u39719/data/www/redevils.ru/index.php(262) : eval()'d code on line 475 Изменено 18 августа 2010 пользователем kingkill Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 Ну конечно, это SQL запрос, его в php надо подключать ведь У меня щас нет времени, если до меня никто не отпишет - напишу. а вообще идите в гугл, пишите в поиск "php mysql Запрос" Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 Автор kpravda, В гугле то я читал, просто там все обобщенно, конкретно с dle ничего. Просто сложновато с нуля так взять и разобраться) Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 $query = "SELECT...."; $points = mysql_query($query); потом $points обрабатываешь и выводишь куда нужно Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 Автор В user_info.php добавил в конец: $totalpoints = $db->super_query("SELECT points FROM ".USERPREFIX."_users WHERE user_id='{$user_id}'"); $tpl->set('{totalpoints}', $totalpoints); В шаблон добавил {totalpoints}, но на её месте пустота) kpravda, Потом сделал так как ты сказал, то же самое - пустота. Делал так: После include ENGINE_DIR.'/data/config.php'; require_once ENGINE_DIR.'/classes/mysql.php'; require_once ENGINE_DIR.'/data/dbconfig.php'; require_once ENGINE_DIR.'/modules/functions.php'; require_once ENGINE_DIR.'/modules/sitelogin.php'; @header("Content-type: text/css; charset={$config['charset']}"); $theme = "/templates/{$config['skin']}"; $user_id = intval($_REQUEST['user_id']); Вставил $querytotal = "SELECT points FROM ".USERPREFIX."_users WHERE user_id='{$user_id}'"; $totalpoints = mysql_query($querytotal); В конце кода $tpl->set('{totalpoints}', $totalpoints); В шаблоне {totalpoints} Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 а почему {$user_id} ? Просто $user_id попробуй в запросе. Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 Автор а почему {$user_id} ? Просто $user_id попробуй в запросе. Потому что я в коде посмотрел и нашел запрос, где было: $row = $db->super_query("SELECT birthday FROM ".USERPREFIX."_users WHERE user_id='{$user_id}'"); Но без фигурных скобок тоже пустота( Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 18 августа 2010 Рассказать Опубликовано: 18 августа 2010 kingkill, если выводим как HTML, то нужно скобки ставить, иначе - если в двойных кавычках, то ничего, если в одинарных кавычках, то нужно обрамлять с двух сторон точками. Примеры: $sql = "Это айди: $id"; $sql = 'Это айди: '.$id; echo <<<HTML "Это айди: {$id}"; HTML; Шаблон добавлять не нужно: $tpl->set('{totalpoints}', $totalpoints); Достаточно код "echo" написать в самом профиле и всё - всего 3 строчки, вроде пхп там только поддерживается. $sql = "SELECT points FROM ".USERPREFIX."_users WHERE user_id='{$user_id}'"; $res = $db->super_query($sql); $totalpoints = $res['points']; echo $totalpoints; Точно не уверен, кажись здесь нужен "супер-запрос", тогда можно сразу его вытащить, иначе нужно через найденную строку вытаскивать: while ($r = $db->get_row($res)) echo $res['points']; Давненько в запросаз не копался, но вроде бы так в ДЛЕ. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 19 августа 2010 Рассказать Опубликовано: 19 августа 2010 Автор zgr, В user_info.php вставил $sql = "SELECT points FROM ".USERPREFIX."_users WHERE user_id='{$user_id}'"; $res = $db->super_query($sql); $totalpoints = $res['points']; В .tpl echo $totalpoints; Насчет суперзапроса не оч понял, куда вставлять его? Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 19 августа 2010 Рассказать Опубликовано: 19 августа 2010 в tpl используется HTML, а не PHP сделай $tpl->set переменной $totalpoints, например, в {points} и вставь в .tpl 1 Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 19 августа 2010 Рассказать Опубликовано: 19 августа 2010 Автор .php $sql = "SELECT points FROM ".USERPREFIX."_users WHERE user_id='{$user_id}'"; $res = $db->super_query($sql); $totalpoints = $res['points']; $tpl->set('{totalpoints}', $totalpoints); .tpl {totalpoints} Опять пусто. Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 19 августа 2010 Рассказать Опубликовано: 19 августа 2010 Автор Осталось совсем немного) Всем плюсану, если что) Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 19 августа 2010 Рассказать Опубликовано: 19 августа 2010 не в плюсах дело напиши в лс твою аську, попробуем вместе решить вопрос 1 Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 19 августа 2010 Рассказать Опубликовано: 19 августа 2010 Автор kpravda, У тебя личка переполнена) Моя ася: 594409 Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 20 августа 2010 Рассказать Опубликовано: 20 августа 2010 Если проблема не решилась до сих пор, то добавьте в шаблон login.tpl перед "?>" ну или куда там хотите: $uid = $member_id['user_id']; $sql = "SELECT points FROM ".USERPREFIX."_users WHERE user_id='{$uid}'"; $res = $db->super_query($sql); $totalpoints = $res['points']; $login_panel .= $totalpoints; Сейчас написал так: $sql = "SELECT count(*) AS count FROM dle_users"; $res = $db->super_query($sql); $count = $res['count']; $login_panel .= $count; и получил 37 юзеров, т.е. код 100% рабочий, если не показывает цифру, значит, что-то в запросе копать нужно. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 21 августа 2010 Рассказать Опубликовано: 21 августа 2010 (изменено) Автор Разобрался, в профиль информацию вывел. Единственная проблема - у всех юзеров выводится двойка) Двойка - это зачение поля points у юзера с Id 1. Тоесть не определяется ID юзера Изменено 21 августа 2010 пользователем kingkill Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 21 августа 2010 Рассказать Опубликовано: 21 августа 2010 Я это уже писал в аську, что id не селектится нужно найти в какую переменную он заносится, т.к. в той переменной он не содержится Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.