<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как создать голосование на сайте

Как создать голосование на сайте

Меня совсем недавно попросил один из посетителей рассказать о том, как создать голосование на сайте. Я решил, что это будет многим интересно, тем более, что сделать голосование у себя на сайте сможет даже начинающий PHP-программист.

Я не буду разбирать HTML-код блока с голосованием, тем более, что у каждого будет ещё свой дизайн, а разберу только алгоритм, по которому можно легко написать PHP-код:

  1. Создать таблицу вариантов ответов в базе данных со следующими полями:
    • id - уникальный идентификатор варианта ответа.
    • variant - текст варианта ответа.
    • count_vote - количество пользователей, выбравших данный вариант ответа.
  2. Получить от пользователя из формы id варианта ответа.
  3. Получить количество голосов (count_vote) у записи с полученным id, увеличить его на 1 и записать обратно.
  4. Дополнительно: сделать редирект на страницу с результатами голосования.

Данного алгоритма вполне достаточно, чтобы без проблем написать PHP-код. Вам остаётся только "нарисовать" форму голосования и реализовать простой вывод результатов на HTML-страницу.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (12):

malina95 malina95 17.12.2012 14:03:52

Скажите пожалуйста, как сделать вывод как у вас? Всмысле полосы которые соответсвуют процентам, и скажите как распределить результаты по процентам?

Ответить

Admin Admin 17.12.2012 15:12:36

Такая полоска делается в процентном отношении. Например, если у варианта 17%, то блок с полоской имеет ширину 17%. Если 20%, то и ширина 20%.

Ответить

malina95 malina95 17.12.2012 15:26:57

А как узнать эти проценты? Тоесть как преобразовать в проценты?

Ответить

Admin Admin 17.12.2012 18:52:43

Считается суммарное количество голосов, затем количество голосов за данный вариант делится на эту сумму и умножается на 100%.

Ответить

malina95 malina95 14.03.2013 00:07:08

Извините за непонятный вопрос, но как сложить количество всех голосов, если таблица из этой статьи?

Ответить

Admin Admin 14.03.2013 10:26:15

SELECT SUM(`count_vote`) FROM `table`

Ответить

malina95 malina95 14.03.2013 14:44:12

Спасибо, получилось, но элемент массива какой-то странный, никогда таких не видел $count['SUM(`count_vote`)']

Ответить

KpYtO KpYtO 19.04.2013 11:23:24

Михаил, у меня возникла проблема. Я сделал так, что форма считывает значение, затем их отсылает в БД(таблица имеет два поля - id и variant). Если человек проголосовал ему выводится результаты, которые есть в таблице. Мой михонизм выглядит так:"if ($_SESSION['reg_success'] == 1) { echo"<p>Жахливо: <b><?php echo $_zax;?></b></p>";}... $_zax = zagetGol();... function zagetGol() { global $mysqli; connectDB(); $result_set = $mysqli->query("SELECT COUNT(variant) AS variantzax FROM variant WHERE variant='zax';"); closeDB(); }". Скажите пожалуйста, где ошибка, почему мне не выводятся результаты?

Ответить

Admin Admin 19.04.2013 13:52:14

http://myrusakov.ru/php-finderror.html - без всего кода найти ошибку будет крайне трудно, а во всём коде проще копаться Вам, а данная статья поможет в поиске ошибки.

Ответить

KpYtO KpYtO 19.04.2013 14:48:01

Михаил, подскажите функцию для выведение количества одного слова(например, яблоко) из таблицы БД.

Ответить

Admin Admin 19.04.2013 17:18:25

http://myrusakov.ru/sql-count.html

Ответить

phrenicum phrenicum 20.08.2014 15:10:47

Михаил, а как сделать такой тип голосования - на странице имеется 4 окна для загрузки фотографий (квадрат, в котором 4 квадрата поменьше с возможностью загрузить фотку). При клике на фотографию осуществляется голосование, результаты которого показываются под фотками в виде горизонтальной диаграммы. Не обязательна загрузка всех 4 фотографий, можно от 2-4. Еще такой момент - фотки идут в файловую систему, а ВСЕ ссылки на них должны быть в одном поле в таблице БД.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.