Создать ответ 
Скрипт опросов на РНР
Автор Сообщение
ingener523 Не на форуме
Младший сержант
*

Сообщений: 21
У нас с: Mar 2016
Сообщение: #1
Скрипт опросов на РНР
Здравствуйте! Создал несколько опросов, но возникла проблема выводится только последний опрос. Подскажите, как сделать чтобы опросы появлялись рандомно при обновлении странички, как у вас на сайте?
29.03.2016 20:30:07
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #2
RE: Скрипт опросов на РНР
Я вытащил сначала все id опросов, узнал число строк и выбрал случайное число от 1 до количества возвращенных строк. Потом через цикл вытащил строку с полученным случайным числом, ну а дальше все стандартно.

PHP код:
$res=mysqli_query($db,"SELECT id,title FROM polls");
$number=mt_rand(1,mysqli_num_rows($res));

for (
$i=1$i<=$number$i++) $poll=mysqli_fetch_array($res); 
29.03.2016 21:36:07
Найти все сообщения Цитировать это сообщение
ingener523 Не на форуме
Младший сержант
*

Сообщений: 21
У нас с: Mar 2016
Сообщение: #3
RE: Скрипт опросов на РНР
А можете привести полностью код, использую Ваш скрипт опросов с сайта http://usefulscript.ru/polls_script.php.

И можете посоветовать хорошую книгу по РНР для начинающих.
29.03.2016 21:51:13
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #4
RE: Скрипт опросов на РНР
У нас код уже сильно отличается от того, что есть в теме не сайте и по понятным причинам в целях безопасности опубликован не будет.

Могу предложить Вам как вариант использовать такой код:
PHP код:
<?php
$res
=mysqli_query($db,"SELECT id,title FROM polls");
$number=mt_rand(1,mysqli_num_rows($res));

for (
$i=1$i<=$number$i++) $poll=mysqli_fetch_array($res);

echo 
'<div class="polls"><b>'.$poll["title"].'?</b><div class="poll" id="poll_'.$number.'">';

$res=mysqli_query($db,"SELECT id,title FROM poll_answer WHERE poll_id=".$poll["id"]);
$number=mysqli_num_rows($res);

for (
$n=1$n<=$number$n++) {
 
$answer=mysqli_fetch_array($res);
 echo 
'<label><input type="radio" name="item" value="'.$answer["id"].'">'.$answer["title"].'</label>';
}
?>
<br><input type="submit" id="view_res" value="Результат"><input type="submit" id="vote" value="Голосовать"></div> 

P.S. Книгу по PHP посоветовать не могу, т.к. сам самоучка и кроме мануала книг не читал.
29.03.2016 22:31:12
Найти все сообщения Цитировать это сообщение
ingener523 Не на форуме
Младший сержант
*

Сообщений: 21
У нас с: Mar 2016
Сообщение: #5
RE: Скрипт опросов на РНР
Спасибо большое!
29.03.2016 22:49:10
Найти все сообщения Цитировать это сообщение
ingener523 Не на форуме
Младший сержант
*

Сообщений: 21
У нас с: Mar 2016
Сообщение: #6
RE: Скрипт опросов на РНР
Здравствуйте! При использовании Вашего последнего кода, опросы выводятся как надо, вот только если смотреть результат голосования, то результат голосования выводится только для опроса с id=1, для остальных опросов результат не выводится.
30.03.2016 14:01:27
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #7
RE: Скрипт опросов на РНР
Странно, у меня работает как надо.
Посмотрите исходный код странички с формой ответов. Там должно быть, например: <div class="poll" id="poll_3">, где 3 - id опроса.
30.03.2016 20:10:49
Найти все сообщения Цитировать это сообщение
ingener523 Не на форуме
Младший сержант
*

Сообщений: 21
У нас с: Mar 2016
Сообщение: #8
RE: Скрипт опросов на РНР
Вот как сейчас у меня сделано. Не много переделал с помощью CSS
PHP код:
<?php
$db
=mysqli_connect("localhost","****","****","*****");
$res=mysqli_query($db,"set names utf8");
$res=mysqli_query($db,"SELECT id,title FROM polls");
$number=mt_rand(1,mysqli_num_rows($res));
for (
$i=1$i<=$number$i++) $poll=mysqli_fetch_array($res);
echo 
'<div class="poll_title">';
echo 
'<p align="center" class="poll_title2">Опрос</p>';
echo 
'<div class="form1"><b>'.$poll["title"].'</b>
<div class="poll" id="poll_'
.$number.'">';

$res=mysqli_query($db,"SELECT id,title FROM poll_answer WHERE poll_id=".$poll["id"]);
$number=mysqli_num_rows($res);

for (
$n=1$n<=$number$n++) 
{
 
$answer=mysqli_fetch_array($res);
 echo 
'<label><input style="margin-right:10px;" type="radio"
    name="item" value="'
.$answer["id"].'">'.$answer["title"].'</label><br>';
}
echo 
'<div class="submit_post"><input type="submit" id="vote" value="Голосовать">';
echo 
'<input type="submit" id="view_res" value="Посмотреть результат">';
echo 
'</div></div></div>';
echo 
'</div>';
?>
30.03.2016 20:47:22
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #9
RE: Скрипт опросов на РНР
Ваш код рабочий.

Проверьте JS код и код вывода результатов голосования (файл polls_result.php).
30.03.2016 21:30:22
Найти все сообщения Цитировать это сообщение
ingener523 Не на форуме
Младший сержант
*

Сообщений: 21
У нас с: Mar 2016
Сообщение: #10
RE: Скрипт опросов на РНР
Полностью создал файлы все с нуля. Вывод результатов к сожалению остался прежним.

Нашел не точность, у меня сначала было создано три опроса, второй опрос с id=2 я удалил. Остались опросы с id=1 и id=3, когда исправил id=3 на id=2 все заработало как надо!!!
(Последний раз сообщение было отредактировано 30.03.2016 в 22:09:56, отредактировал пользователь ingener523.)
30.03.2016 22:05:13
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru