Тема: помогите исправить код не пойму почему ошибка!!!! (Движок DCMS-Social/Общие вопросы) Djax (25 Jan 2015 в 17:53) код нужно вставить в user/info/wap.PHP socio (25 Jan 2015 в 18:01) Мне видно он одной строкой. Попробуй весь переписать и увидишь где не так. )) Djax (25 Jan 2015 в 18:13) socio,сам файл тут на сайте http://dcms-social.ru/obmen/DCMS%20Social/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8%20%D0%B8%20%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/Anketa/8433.zip?showinfo помоги очень нужно Djax (25 Jan 2015 в 20:29) тут вообще может кто помочь Владони (25 Jan 2015 в 20:32) Djax, не ной,а жди,имей терпение,и сам сам ручками пробуй! Djax (25 Jan 2015 в 20:40) Владони, скажите что не так не вижу ошибки Poherovich (25 Jan 2015 в 23:13) --Цитата-- Djax (25 Jan 2015 в 18:13): socio,сам файл тут на сайте http://dcms-social.ru/obmen/DCMS%20Social/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8%20%D0%B8%20%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/Anketa/8433.zip?showinfo помоги очень нужно ---------- Djax, А социо в бане,-за помощь. ))) Zed (25 Jan 2015 в 23:39) http://dcms-social.ru/user/personalfiles/627/2096/?id_file=9872&page=1 Engine (26 Jan 2015 в 00:47) Мда .че. ты б его еще обфусцировал.. Непонятно жеж нихрена Феном (26 Jan 2015 в 08:39) Djax, Привет. Проще показать где НЕ ошибка. Особенно умиляет фильтрация серверного времени, и причём не верно)) В комах всё не поместилось. Вот качай исправленный пример http://dcms-social.ru/user/personalfiles/2624/9027/?id_file=10193&page=1 Распакуеш в /user/info/ Код прокоментировал. Удачи в сайтостроении. Djax (26 Jan 2015 в 10:33) Феном, спасибо Конечно за помощь я только одно понял из всего что тут идет замена другого модуль комы. нужно ведь чтобы каждый пользователь всего один раз мог проголосовать за станицу другого добавив ему в рейтинг от 1 до 5 Феном (26 Jan 2015 в 14:56) Djax, Просьба была...помогите исправить код не пойму почему ошибка!!!!...Код исправлен, ошибок нет. Косательно возможности, лиш один раз голосовать за страничу юзера, использую оценку от 1 до 5... Вот этот кусок <? $my_r=intval(@mysql_result(mysql_query(\"SELECT `rating` FROM `user_voice2` WHERE`id_user` = \'$user[id]\' AND `id_kont` = \'$ank[id]\'\"),0));?> Ищет в таблице user_voice2, пользователя id_user который голосовал, id_kont пользователя за которого голосовали, сопоставляет, и выводит оставленную оценку, которая минимум равна единице. Если находит то $my_r равна более нуля, а значит выдаёт такой ответ <?if ($my_r>\'0\'){ msg(\'Вы уже голосовали\');}?> Если нет, идёт дальше. <? }else{ $new_r=min(max(@intval($_GET[\'rating\']),1),5); ?> И т.д Djax (26 Jan 2015 в 15:12) Феном, это я понимаю поверхностно но мне нужно чтобы: допустим у меня рейтинг 200 заходит человек и ставит оценку +5 (он может делать это один раз в жизни со своей странице) после чего мой рейтинг становиться 205 и так далее уже с другим пользователем . тоесть мне нужна таблица user / графа rating / Djax (26 Jan 2015 в 15:14) Engine, что тут не понятно может быть Феном (26 Jan 2015 в 15:37) Djax, Если верно тебя понимаю, то так оно и есть. Смотри в документе строка <? mysql_query(\"UPDATE `user` SET `rating` = \'\".($ank[\'rating\']+$new_r).\"\' WHERE `id` = \'\".$ank[\'id\'].\"\' LIMIT 1\"); ?> Где $ank[\'rating\'] теущий рейтинг юзера, например 200 , $new_r рейтинг который добавляем 5, сумируем $ank[\'rating\']+$new_r и записываем поле rating таблицы user . Всё как ты и просиш. В итоге получим рейтинг 205. После этого, оставить оценку ещё раз (для юзера который уже голосовал за эту страничку) ограничиваеться ранее приведённым кодом. Djax (26 Jan 2015 в 15:45) Феном, вот оно!!!!!! что нужно теперь на что поменять подскажи пожалуйста я уже просто весь движок перерыл чтобы хоть чуть чуть понять почти тоже самое в примерах нашел но до конца еще не понял Djax (26 Jan 2015 в 15:47) <? $user[\'balls\']>=50&& //дальше же можно и остальную валюту дописать ?> Djax (26 Jan 2015 в 16:39) <? if (isset($user) && $user[\'id\']!=$ank[\'id\']&&$user[\'balls\']>=50 && mysql_result(mysql_query(\"SELECT SUM(`rating`)FROM `user_voice2` WHERE `id_kont` != \'\".$user[\'id\'].\"\'\"),0)>=0) { $my_r=intval(@mysql_result(mysql_query(\"SELECT `rating` FROM `user_voice2` WHERE `id_user` = \'\".$user[\'id\'].\"\' AND `id_kont` = \'\".$ank[\'id\'].\"\'\"),0)); //далее файл } ?> что нужно тут поменять чтобы правильно было Феном (26 Jan 2015 в 16:49) Djax, php не знает слова нельзя, ну разве что на клиентской стороне. Просмотри таблицу user, выбери нужные поля и допиши. $user[\'balls\'] это баллы, $user[\'money\'] монеты, $user[\'rating\'] это рейтинг юзера. Всё интуитивно понятно)) Может какие то иные поля тебе нужны, например, возможность голосовать лиш после того как проведёш на сайте не менее суток и т.д <? if ($user[\'balls\']>\'50\' && $user[\'money\']>\'50\'){echo \"тут код который должен сработать вслучае, если у юзера не менее 50 баллов и 50 монет. Если будет хотя бы так 49 баллов 50 монет, ток код игнорируеться\";} ?> Djax (26 Jan 2015 в 17:04) Феном, как мне <? mysql_query(\"UPDATE `user` SET `rating` = \'\".($ank[\'rating\']+$new_r).\"\' WHERE `id` = \'\".$ank[\'id\'].\"\' LIMIT 1\"); ?> правильно вставить в <?if (isset($user) && $user[\'id\']!=$ank[\'id\']&&$user[\'balls\']>=50 && mysql_result(mysql_query(\"SELECT SUM(`rating`)FROM `user_voice2` WHERE `id_kont` != \'\".$user[\'id\'].\"\'\"),0)>=0){$my_r=intval(@mysql_result(mysql_query(\"SELECT `rating` FROM `user_voice2` WHERE `id_user` = \'\".$user[\'id\'].\"\' AND `id_kont` = \'\".$ank[\'id\'].\"\'\"),0));//далее файл}?> просто ни id_user id_kont нет в сб таблице user есть только +Параметры id nick passsess activation ban ban_pr ip ip_cl ip_xff uadate_reg timedate_aut date_last balls backs euro rating level group_access polurlshow_url ank_g_r ank_m_r ank_d_r ank_city ank_o_sebe ank_icq ank_skype ank_mail ank_n_tel ank_name set_time_chatset_p_str set_show_iconset_translit set_filesset_timesdvig set_news_to_mailset_show_mail set_themset_them2 meteo_country autorizationadd_konts wallbrowserank_rostank_vesank_teloslank_cvet_glasank_volosank_orienank_lov_1ank_lov_2ank_lov_3ank_lov_4ank_lov_5ank_lov_6ank_lov_7ank_lov_8ank_lov_9ank_lov_10ank_lov_11ank_lov_12ank_lov_13ank_lov_14ank_lov_15ank_o_parank_zanank_smokank_mat_polank_projank_babyank_avtoank_avto_nank_alkoank_alko_nank_narkrating_tmpsortnews_readban_whereabuldvk_idtype_regidentityset_nickmoney money_rub money_usd money_eur gangs gang Djax (26 Jan 2015 в 17:06) Феном, подсказажи как правильно в тот файл который ты мне отправил сделать Djax (26 Jan 2015 в 17:17) Феном, я вот так сделал правильно не знаю <? if (isset($user) &&$user[\'id\']!=$ank[\'id\']&&$user[\'balls\']>=50 && mysql_result(mysql_query(\"SELECT SUM(`rating`)FROM `user` WHERE `id` != \'\".$user[\'id\'].\"\'\"),0)>=0) {IX458$my_r=intval(@mysql_result(mysql_query(\"SELECT `rating` FROM `user` WHERE `id` = \'\".$user[\'id\'].\"\' AND `id` = \'\".$ank[\'id\'].\"\'\"),0)); if ($my_r>\'0\') {IX461if ($my_r==1)echo \"\"; if ($my_r==2)echo \"\"; if ($my_r==3)echo \"\"; if ($my_r==4)echo \"\"; if ($my_r==5)echo \"\"; }else{ echo \"<div class=\'plug\'>\"; echo \"<div style=\'\'><a href=\'?id=$ank[id]&amp;rating=1\' title=\'+1\'>+<img src=\'style/images/rating/1.png\'></a>\";I echo \"|\"; echo \"<a href=\'?id=$ank[id]&amp;rating=2\' title=\'+2\'>+<img src=\'style/images/rating/2.png\'></a>\"; echo \"|\"; echo \"<a href=\'?id=$ank[id]&amp;rating=3\' title=\'+3\'>+<img src=\'style/images/rating/3.png\'></a>\"; echo \"|\"; echo \"<a href=\'?id=$ank[id]&amp;rating=4\' title=\'+4\'>+<img src=\'style/images/rating/4.png\'></a>\"; echo \"|\";IX476echo \"<a href=\'?id=$ank[id]&amp;rating=5\' title=\'+5\'>+<img src=\'style/images/rating/5.png\'></a>\";IX477echo\"</div>\"; echo \"</div>\"; } } ?> Djax (26 Jan 2015 в 17:51) Феном, так работает как написал я тебе последнее сообщение но голос можно оставлять много раз а нужно один Феном (26 Jan 2015 в 18:20) Djax, Файл твой, собранный из данного тобой кода, я лиш грубые ошибки исправил, что бы заработал как ты просил. А мелких тут хватат. Например <? if (isset($user) && $user[\'id\']!=$ank[\'id\'] &&$user[\'balls\']>=50 && mysql_result(mysql_query(\"SELECT SUM(`rating`) FROM `user_voice2` WHERE `id_kont` != \'\".$user[\'id\'].\"\'\"),0)>=0){$my_r=intval(@mysql_result(mysql_query(\"SELECT `rating` FROM `user_voice2` WHERE `id_user` = \'\".$user[\'id\'].\"\' AND `id_kont` = \'\".$ank[\'id\'].\"\'\"),0)); if ($my_r>\'0\'){if ($my_r==1)echo \"тут должна быть инфо например. Вы оставили оценку +1\";if ($my_r==2)echo \"Тут\";if ($my_r==3)echo \"Тут\";if ($my_r==4)echo \"Тут\";if ($my_r==5)echo \"И тут тоже\";} ?> Иначе вывод $my_r, безсмысленный и лишний)) Скинь, наличие полей в таблице user_voice2 Завтра гляну если будет время. Djax (26 Jan 2015 в 21:36) Феном, таблица стандарт с движка 1.9.8 смысл такой чтобы ты понял я зашел к тебе на страницу нажал на +1+2+3+4+5 мне показало что я проголосовал и Ваша оценка (....) . Если я еще раз захочу нажать на +1+2+3+4+5 то мне напишут \"Вы уже голосовали и Ваша оценка (....)\". Тебе же от системы приходит сообщение что я проголосовал за твою страницу и моя оценка (...) ,а также к твоему рейтингу + то что я выбрал. вот такой смысл должен быть Djax (26 Jan 2015 в 21:38) Феном, и мне нужна не эта таблица user_voice2 а user так как там находится rating Феном (27 Jan 2015 в 07:02) Djax, Привет! В таблице user_voice2 храниться следующая инфо. Кто проголосовал, за кого проголосовал, оценка и время. Всё вышеперечисленное используеться для дальнейшего вывода в отзывы а так же, в данном случае запрета голосовать повторно. Более доходчиво пояснить не смогу. Не нужна так не нужна)) Djax (27 Jan 2015 в 16:05) Феном, хорошо как тогда как чтобы балы добавлялись автоматически из той оценки что выбрал пользователь +1+2+3+4+5 Djax (27 Jan 2015 в 16:10) Феном, ты можешь мне помочь дописать этот модуль в долгу не буду. и объясни пожалуйста что в таблице за что отвечает чтобы научиться правильно делать запросы и выводы Источник: http://www.dcms-social.ru/forum/13/34/57224/