0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 16
|
|
1 | |
Создание глобального голосования для сайта.30.04.2011, 18:59. Показов 1084. Ответов 2
Метки нет (Все метки)
Здравствуйте. Я в ПХП можно сказать 'продвинутый юзер' Примитивные вещи делать могу, да и не только примитивные.
Сейчас занимаюсь разработкой сайта, и у меня возникла небольшая проблема: на сайте будет много статей (хранящихся в MySql) и файлов (данные про файлы тоже в БД). У каждой статьи и у каждого файла есть свой ID. И что я хочу сделать - под каждым файломстатьёй вывести голосование за файлстатью. Голосование примерно такого вида: Слева в табличке 10 ссылок, вида vote.php?act=files&code=security&m=vote&id=296&v=1 где: act=files - тип материала за который отдается голос. В данном случае это софт. code=security - категория файластатьи m=vote - голосуем, отдаём голос id=296 - айди файла, за который отдается голос. Айди береться из самой статьи, из базы данных данной статьефайла (это не проблема сделать). v=1 - оценка. От 1 до 10. Всего таких ссылоккнопок должно быть 10. Сгенерировать саму ссылку, чтобы для каждой статьифайла она появлялась со своими значениям - это два пальца об асфальт ПО поводу возможности накрутки - тут тоже все легко -голосовать будет разрешено только зарегистрированным пользователям, за каждую статьюфайл ТОЛЬКО по одному разу. У меня же проблема в другом - как реализвать уже само голосование? файл vote.php я привел для примера, так как его уменя сейчас нету. Поэтому и пишу здесь - прошу Вашей помощисоветов по созданию файла для проведения голосования. ЕДинственное - доступ к самому файлу vote.php напрямую закрою. тоестьн икакого интерфейса для него делать не нужно. Хотелось бы услышать совет, как лучше сформировать таблицу в БД для этого модуля голосований. Я представляю примерно так: vote_act - тут будет вписываться ТИП метериала за который отдали голос (например files или games(стати про игры)) vote_code - тут будет храниться подкатегория материала (например security для файлов или action(тип игры) для статей про игры) vote_id - ID файла за который отдали голос vote_mark_1 - сюда будет добавлять по 1 кол-во голосов, за 1 балл (запрос MySql что-т вроде $db->sql_query('UPDATE site_vote SET vote_mark_1=vote_mark_1+1'); vote_mark_2 - то же самое только для 2 баллов vote_mark_3 - то же самое vote_mark_4 - то же самое vote_mark_5 - то же самое vote_mark_6 - то же самое vote_mark_7 - то же самое vote_mark_8 - то же самое vote_mark_9 - то же самое vote_mark_10 - то же самое vote_voted - тут будут храниться имена проголосовавших пользователей. Вот примерно. Хотя я сам никогда ещё ничего подобного не делал. Наверное я неправильно все-таки представляю себе работу будущего скрипта. Очень надеюсь на Вашу помщь. С Уважением. Сергей.
0
|
30.04.2011, 18:59 | |
Ответы с готовыми решениями:
2
Создание своего супер-глобального массива Отобразить результаты голосования сразу после голосования Создание простого голосования, совсем не получается Создание сайта для практики |
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 16
|
|
30.04.2011, 19:05 [ТС] | 2 |
Хотелось бы совета или примера того, как должен выглядетья файл vote.php, и как правильно создавать запросы на дбавление голоса, вывода результатов голосования.
Кстате про вывод результатов - результаты выводяться непосредственно справаслева от кнопочек 'отдать голос'. Выводить нужно только общую оценку высчитанную в процентах. Ну например 1 голос за 10 баллов это 100% И под оценкож было бы неплохо общее кол-во голосов.
0
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 16
|
|
30.04.2011, 20:09 [ТС] | 3 |
Вот смотрите, по идее ид по ссылке
vote.php?go=vote&vote_act=test&vote_code=ttset2&vote_id=1&vote_mark=6 нужно что бы выполнялся код (ниже). Подправьте пожалуйста, скажите что я там не так сделал Код
<?php function vote($vote_act, $vote_code, $vote_id, $vote_mark) { global $prefix, $db, $vote_act, $vote_code, $vote_id, $vote_mark; $vote_act = '$vote_act'; $vote_code = '$vote_code'; $vote_id = '$vote_id'; $vote_mark = '$vote_mark'; $db->sql_query('INSERT INTO '.$prefix.'_vote (vote_act, vote_code, vote_id, vote_mark) VALUES ('$vote_act', '$vote_code', '$vote_id', '$vote_mark')'); Header('Location: index.php'); } switch($go) { case 'vote': vote($vote_act, $vote_code, $vote_id, $vote_mark); break; default: vote(); break; } ?>
0
|
30.04.2011, 20:09 | |
30.04.2011, 20:09 | |
Помогаю со студенческими работами здесь
3
Создание online консультанта для сайта Создание поисковой системы для сайта Создание сайта для прослушивания и загрузки музыки Создание новых страниц для сайта из админки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |