![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Решил создать свой опросник для сайта с "0", так как ничто так не запоминается, как то, что написано своими руками ;)
для начала создал форму: Код HTML:
<form action="" method=post NAME="voting" ID="voting"> <table WIDTH="138" BORDER="0" CELLPADDING="0" CELLSPACING="0"> <tr> <td width="100%" COLSPAN="2" VALIGN="MIDDLE" CLASS="orderheader">Нам интересно ваше мнение </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_1" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 1</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_2" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 2</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_3" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 3</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_4" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 4</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="guest_5" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 5</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_6" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 6</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_7" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 7</font> </td> </tr> <tr> <td valign="TOP" CLASS="textLeft"> <input name="radiobutton" type="radio" value="quest_8" /> </td> <td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 8</font> </td> </tr> <tr> <td colspan="2" valign="TOP" CLASS="textTools"> </td> </tr> <tr> <td colspan="2" valign="TOP" CLASS="textTools"> <a onmouseout="MM_nbGroup('out');" onmouseover="MM_nbGroup('over','vote2_r2_c2','img/vote-2_r2_c2_f2.png','img/vote-2_r2_c2_f3.png',1);" onclick="MM_nbGroup('down','navbar1','vote2_r2_c2','img/vote-2_r2_c2_f3.png',1);"><img name="vote2_r2_c2" src="img/vote-2_r2_c2.png" width="125" height="33" border="0" id="vote2_r2_c2" alt="Голосовать" /></a> </td> </tr> <tr> <td colspan="2" valign="TOP" CLASS="textTools"><a ahref="">РЕЗУЛЬТАТЫ</a></td> что делать далее? думал не заморачиваться с мускулом, а записывать результат в текстовый файл: строка 1: "вопрос_1";1 строка 2: "вопрос_2";0 строка 3: "вопрос_3";16 ... строка 8: "вопрос_3";11 и т.д. но, как потом получать значение и добавлять к нему "1"? или лучше писать в mySQL? |
|
|
|
|
| Реклама: | Обручальное кольцо из белого золота с керамикой | музей пряника москва - RedKassa.ru | 3д печать в москве | nd-isr-22с-v/x | унф и телеграмм |
|
|
#2
|
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 25.03.2005
Сообщений: 789
Репутация: 788
|
ИМХО. mySQL - лучше, но есть минус, создавать доп. таблицу, можно продумать конечноже универсальную, но это будет зависить от того как часто ты будешь менять свои опросники.
Можно и текстовый файл, но в нем просто разместить значения, нет смысла указывать вопрос1, вопрос2 и т.д. Только значения, каждая строка соответсвует номеру вопроса (это в скрипте пропишешь) и тогда не будет вопроса о том как добавить 1, просто получить данные из формы, открыть файл, считать необходимую строчку (значение), добавить 1, записать в файл. |
|
|
|
| Сказали спасибо: |
|
|
#3
|
|
остановлюсь пока на файле, а вот что нацепить на кнопку для записи в файл в событие submit?
|
|
|
|
|
|
|
#4
|
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 25.03.2005
Сообщений: 789
Репутация: 788
|
Скрип, который будет выполнять необходимые действия.
твоя строчка: Код HTML:
<form action="" method=post NAME="voting" ID="voting">
Код HTML:
<form name="question" method="post" action="question.php" >
Не ленись, попробуй разобрать чужие скрипты голосования, в инете навалом, как сложных, так и самых простых, в зависимоти от различных примочек, зато станет более понятно как это все организовать. Кроме того, твою форму можно сократить по средствам правильного использования CSS, в ней много лишнего: valign="TOP" и CLASS="textLeft" - чуть ли не в каждой строчке и каждом тэге - решается 2 строчками CSS, да и от таблицы можно избавиться. А вот это: Код HTML:
<font class="textleft">
Последний раз редактировалось errante; 25.05.2009 в 21:53.. |
|
|
|
|
|
#5
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1. если сделать всё в одном файле, тогда всё равно указывать имя файла в action? 2. разница в имени формы моя NAME="voting" и name="question" чем обусловлена?
с таблицей пробовал... чёй-то не получается. поэтому решил с файлом мутить.
мож подкинешь ссылку на ресурс?
форма будет входить в другой файл, где тэги уже определены списком стилей, да и не это сейчас волнует...
там вместо font должен быть span |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
#6
|
|
Пользователь
Пол:
Регистрация: 12.03.2008
Сообщений: 62
Репутация: 12
|
у тебя код что ли не влез? не вижу где кнопка отправить внизу?
Код:
<input type="submit"> смени value для всех радиокнопок с "quest_1", "quest_2".... на "1", "2" и т.д. То есть убери quest_ тогда в question.php код: Код:
<?
$inp = file('rez.txt');
$f=explode(';',$inp[0]);
foreach($f as $key=>$str) {
$xx = explode(':',$str);
if ($xx[0]==$_POST['radiobutton']) $xx[1]=$xx[1]+1;
$f[$key]=$xx[0].':'.$xx[1];
}
$ff = fopen('rez.txt','w');
fputs($ff,implode(';',$f));
?>
Код:
1:0;2:0;3:0;4:0;5:0;6:0;7:0;8:0 проверил. работает Последний раз редактировалось RichDad; 26.05.2009 в 14:27.. Причина: код исправил |
|
|
|
| Сказали спасибо: |
|
|
#7
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 25.03.2005
Сообщений: 789
Репутация: 788
|
ничем. это просто пример.
А че тут мутить, на вскидку, четыре графы id, номер опроса, сам вопрос, значение. может использоваться как для единичного опросника, так и для ахива опросников. Подключаемся к базе, считываем самое большое значение графы Номер опроса, выводим Сами вопроса для которых Номер опроса соответсвует выбранному.
Да их навалом, какчать и смотреть скрипты просто лень , в яше или гугле запрос: скачать скрипты или бесплатный каталог скриптов и т.д., если проблема со знанием англ. языка, то лучше качать отечественные т.к. очень часто присутствует справка по скрипту и его описание.
нет. у тебя есть тэги <td>, <table>, <input> и др., ты можешь в CSS указать для них размер шрифта, цвет и т.д., и не использовать <font class="xxx">. Просто если делать, и делать для того что бы научиться то делать нужно правильно, иначе потом придется переучиваться.
Он ее попытался заменить этим Код HTML:
<td colspan="2" valign="TOP" CLASS="textTools"> <a (java события)> <img name="vote2_r2_c2" src="img/vote-2_r2_c2.png" width="125" height="33" border="0" id="vote2_r2_c2" alt="Голосовать" /> </a> </td> то это решается через CSS Код HTML:
<INPUT type="submit" class="go">
CSS
input.go
{
background:url(../img/go.gif) no-repeat;border:none; cursor:pointer; width: 38px; height:25px;
}
Если хочется чтобы кнопка менялась при наведении мыши, то это тоже решаемо. Последний раз редактировалось errante; 26.05.2009 в 17:43.. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
#8
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Код HTML:
<a onmouseout="MM_nbGroup('out');" onmouseover="MM_nbGroup('over','vote2_r2_c2','img/vote-2_r2_c2_f2.png','img/vote-2_r2_c2_f3.png',1);" onclick="MM_nbGroup('down','navbar1','vote2_r2_c2','img/vote-2_r2_c2_f3.png',1);"><img name="vote2_r2_c2" src="img/vote-2_r2_c2.png" width="125" height="33" border="0" id="vote2_r2_c2" alt="Голосовать" /></a>
спасибо! сейчас буду думать, как получить результаты голосования + всего голосов. Добавлено через 6 минут
объясняю -- этот файл с формой (vote.php) входит в другой файл (require('vote.php');), где тЭги таблиц и формы уже определены в CSS, поэтому такое извращение здесь, что приходится указывать стили непосредственно. сама форма работает отлично. проблема была в скрипте голосований Последний раз редактировалось Pazan; 27.05.2009 в 09:36.. Причина: Добавлено сообщение |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
#9
|
|
RichDad,
а можно построчно прокомментировать код скрипта, а то не совсем ясен обратный вариант: выделения данных из строки номер_вопроса:данные; |
|
|
|
|
|
|
#10
|
|
и вставить их сюда:
Код HTML:
echo '<table width="138" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="2" valign="TOP"> Результаты опроса </td> </tr> <tr> <td valign="TOP"> Визитки: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Интернет: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Пресса: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Радио: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> ТВ: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Друзья, знакомые: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Наружная реклама: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Другие источники: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> <tr> <td valign="TOP"> Всего голосов: </td> <td valign="TOP">'; echo [данные]; echo ' </td> </tr> </table>'; |
|
|
|
|
|
|
#11
|
|
Пользователь
Пол:
Регистрация: 12.03.2008
Сообщений: 62
Репутация: 12
|
это загрузили список в память:
Код:
$inp = file('rez.txt');
$f=explode(';',$inp[0]);
Код:
$xx = explode(':',$f[$i]);
Код:
echo "Вопрос номер ".$xx[0]." имеет ".$xx[1]." голосов"; foreach($f as $key=>$str) { ... } нужна для перебора всех вопросов без указания нужного нам (то есть без $i). то есть в твоем примере применительно к этому коду будет вот так: Код:
<td valign="TOP">
Визитки:
</td>
<td valign="TOP">';
$xx = explode(':',$f[0]);
echo $xx[1];
echo ' </td>
</tr>
|
|
|
|
| Сказали спасибо: |
|
|
#12
|
|
RichDad,
разъяснил супер, молодец! после выходных попробую |
|
|
|
|
|
|
#13
|
|
RichDad,
Всё работает. Ещё раз спасибо. ![]() |
|
|
|
|
|
|
#14
|
|
Пользователь
Пол:
Регистрация: 12.03.2008
Сообщений: 62
Репутация: 12
|
|
|
|
|
|
|
#15
|
|
RichDad,
за мной не заржавеет ![]() продолжаю усложнять жизнь с опросником. нужно 2 весчи: 1. при клике на "сабмит" занести в куки "1" с временем жизни 3600 сек. и при повторном голосовании проверять куки и сообщить, типа, вы уже голосовали бла-бла-бла... 2. как-то проверить, чтобы юзер НЕ голосовал без выбора варианта... и, думаю, тема опросника будет исчерпана ![]() |
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Создаю Хостинг | Garceg | Настраиваем собственный хостинг | 7 | 13.12.2013 12:17 |
| Cоздаю веб-шоп витрину шаг за шагом | Pazan | PHP | 6 | 18.07.2009 13:38 |
| Английский язык шаг за шагом. | momok | Различные ссылки | 0 | 28.06.2005 18:07 |
|
|