Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: увеличить счетчик голосования на 1
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
Есть такой код и собственно вопрос в том как сделать так чтобы в result.txt отобразить все 3 варианта ответа + рядом цифры как счетчик. Каждая из цифр чтобы увеличивалась на 1 при выборе соответствующего варианта ответа???
if((strcmp(trim($_POST['otvet']),"Джентльмены удачи"))=== 0)file_put_contents("result.txt",$array[0].видимо тут должно идти значение которое сохраняется в сессии и при это мего все время нужно увеличивать на 1;
if((strcmp(trim($_POST['otvet']),'Операция "Ы" и другие преключения Шурика'))=== 0)file_put_contents("result.txt",$array[1].видимо тут должно идти значение которое сохраняется в сессии и при это мего все время нужно увеличивать на 1);
if((strcmp(trim($_POST['otvet']),"Кавказская пленница"))=== 0)file_put_contents("result.txt",$array[2].видимо тут должно идти значение которое сохраняется в сессии и при это мего все время нужно увеличивать на 1);
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
Никто не знает?
nicolas_d
Отправлено: 12 Марта, 2014 - 22:07:11
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
lawer85 пишет:
Никто не знает?
Принципиально неверный подход к решению задачи. Для упрощения разбора ответов, в пост запросе нужно передавать номера ответов, а не их текст, т.е. каждый "фильм" пронумеровать и возвращать выбранный номер, ето раз. В текстовом файле должны храниться строки, в которых поля через разделитель, ето два, к примеру
1;Джентльмены удачи;0
2;Операция "Ы" и другие приключения Шурика;0
3;Кавказская пленница;0
Файл читается построчно в массив, который в свою очередь будет содержать массив полей.
При получении пост запроса в массиве ищется запись с номером переданного ответа, элемент с индексом 2 найденной записи увеличивается на единицу, все элементы объединяются в строку равной структуре файла (пример выше), строка пишется в файл.
Чтобы не геммороиться с чтением текста файла и его "дешифровкой", учим json_encode|json_decode, чтобы поиметь готовую структуру массива. Так же учим switch case, чтобы if'ами не обходить результат полученного запроса.
Сессия в вашем примере нафик не нужна, т.к. ничего не хранит.
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
nicolas_d пишет:
В текстовом файле должны храниться строки, в которых поля через разделитель,
хреновенький вариант
трудно будет выборку делать по рейтингу
надо отдельным полем хранить
вообще хранить данные в реляционной таблице в строке через разделитель это плохой подход
может за очень редким исключением (Добавление)
хотя никто про реляционные базы не говорил )
nicolas_d
Отправлено: 12 Марта, 2014 - 22:25:44
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
LIME пишет:
nicolas_d пишет:
В текстовом файле должны храниться строки, в которых поля через разделитель,
хреновенький вариант
трудно будет выборку делать по рейтингу
надо отдельным полем хранить
вообще хранить данные в реляционной таблице в строке через разделитель это плохой подход
может за очень редким исключением (Добавление)
хотя никто про реляционные базы не говорил )
Действительно, про реляционные базы никто и не говорил. Про строки с разделителями упоминал, т.к. есть стандартные механизмы чтения/записи csv файлов, но вариант хранения ассоциативного массива (да и просто массива массивов) в виде json строки как-то получается удобнее в плане обработки. Про код вопрошающего просто промолчу. В целом, технология хранения данных зависит от задачи. В данной задаче поставлено, чтобы хранить в файле, мы храним файле. Приведенный мной код рабочий.
lawer85
Отправлено: 13 Марта, 2014 - 21:07:14
Частый гость
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
Бубу переваривать, просто я только изучаю PHP и предполагалось решить задачу с учетом что я об json ничего не знаю.
Вообще я обучаюсь по курсу и столько вопросов возникает и я вижу как мне дают решения, где озвучивается то, что я не проходил, вообще уже задумываюсь правильно ли я делаю, что обучаюсь по курсу, может на обучение записаться к гуру какому-нибудь, что скажете?
lastdays
Отправлено: 14 Марта, 2014 - 00:48:18
Частый гость
Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013
Помог: 7 раз(а)
а чего, одно другому мешает?
желание + практика = положительный исход.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.