|
|
|
| ну собсно делаю голосования, нужно каким нить образом передавать это самое value
голова совсем не варит после рабочего дн, вроде и вопрос то лёгкий а сооразить не могу... тут кажись нжно name передавать да? :) | |
|
|
|
|
|
|
|
для: 10100100
(04.04.2006 в 16:03)
| | Можно каждый раз по ссылке передовать, можно сохранить в сессию или куки.
Выбор за Вами. | |
|
|
|
|
|
|
|
для: Artemy
(04.04.2006 в 16:21)
| | по ссылке - тоесть методом GET? хм... интересно - я об этом не думал...
а насчёт сессий... дело не в самой передаче а передать именно то значение которое соответствовало номеру варианта ответа в таблице... какое конкретно значение передовать надо.. я так думаю сам номер варианта... но в сессиях если передавать то он передаёт почему то не те данные... мож я чего путаю... тяжело соображаю после ночной работы :( | |
|
|
|
|
|
|
|
для: 10100100
(04.04.2006 в 16:03)
| | в общем ситуация следующая... для голосования созаю БД такого вида:
//таблица содержит ID вопроса, сам вопрос, и состояние вопроса, тоесть активен или в архиве.
CREATE TABLE 'quest' (
'id_q' INT NOT NULL AUTO_INCREMENT,
'question' TINYTEXT,
'activ' TINYTEXT,
PRIMARY KEY (id_q)
) TYPE = MYISAM;
//таблица с ответами, содержит ID ответа, ID вопроса к которому ответ, Сам ответ.
CREATE TABLE 'answer' (
'id_a' INT NOT NULL AUTO_INCREMENT,
'id_q' TINYTEXT,
'answer' TINYTEXT,
PRIMARY KEY (id_a)
) TYPE = MYISAM;
//таблица с результатами, содержит ID результата, ID вопроса и ответов к нему, колличество проголосовавшиз за определённый ответ в определённом вопросе.
CREATE TABLE 'results' (
'id_r' INT NOT NULL AUTO_INCREMENT,
'id_q' TINYTEXT,
'id_a' TINYTEXT,
'score' TINYTEXT,
PRIMARY KEY (id_r)
) TYPE = MYISAM;
|
далее следует код вывода вопросов и вариатнов ответа на экран пользователю:
<?php
include 'config.php';
//выбираем из таблицы с вопросами активный опрос
$query = "SELECT * FROM quest WHERE activ='1'";
$ath = @mysql_query($query);
echo '<form action=result.php method=post>';
$quest = mysql_fetch_array($ath);
echo '<table class=1 cellspacing=o cellpading=0 width=200 bgcolor=EDF6FA><tr><td width=100% align=center><small>';
//выводим сам вопрос
echo $quest['question'];
//это необходимо чтобы передать инфу в скрытом поле следующему скрипту
$question=$quest['question'];
echo '</small></td></tr></table>';
//это для того же.
$id_q = $quest['id_q'];
//делаем выборку ответов на указанный вопрос.
$query2 = "SELECT * FROM answer WHERE id_q='$id_q'";
$ath2 = @mysql_query($query2);
echo '<table class=1 cellspacing=o cellpading=0 width=200 bgcolor=ffffff><tr><td width=100% align=left>';
WHILE ($answer = mysql_fetch_array($ath2)) {
$id_a = $answer['id_a'];
//вот собственно вывод вариантов ответа, думаю здесь то у меня и спряталась ошибка. В имя записываем ID вопроса
echo '<input type=radio name=';
echo $id_q;
echo ' value=';
//в ответ ставим ID ответа, может здесь и есть ошибка? хм...
echo $id_a;
echo '><small>';
//ну собсна вывод ответа
echo $answer['answer'];
echo '</small><br>';
}
echo '</td></tr></table>';
echo '<table class=1 cellspacing=o cellpading=0 width=200 bgcolor=EDF6FA><tr><td width=100% align=center>';
//а вот тут я вообще не понимаю в чём проблема следующий скрипт не хочет принимать данные которые ему отправляет форма... пишет что мол нету таких данных у него, нотайсами пугает. но когда я открываю HTML код этой страниц (именно этой) то все значения прописаны по этому приходится передавать скрытым полем.
echo '<input type=hidden name=id_q value=';
echo $id_q;
echo '>';
echo '<input type=hidden name=id_a value=';
echo $id_a;
echo '>';
echo '<input type="Submit" style="background-color:ffffff" value="Голосовать">';
echo '</td></tr></table>';
echo '</form>';
?>
|
вот и всё.... следующий скрипт - обработчик. он всего лишь делает вывод на экран полученых данных по этому не вижу смысла писать его здесь. | |
|
|
|
|
|
|
|
для: 10100100
(05.04.2006 в 04:36)
| | Так, а что передать хотите? Добавьте действительно скрытое поле
<imput type=hidden name=value value="значение">
|
| |
|
|
|
|
|
|
|
для: cheops
(05.04.2006 в 14:08)
| | хм :) Игорь Вячеславович, видите ли в чём проблема. если я добавляю такое поле то мне следующий скрипт выводит лишь колличество строк - т.е. 4, а мне нужно какой вариант выбрал пользователь... | |
|
|
|
|
|
|
|
для: 10100100
(05.04.2006 в 15:46)
| | Т.е. у вас не предаются значения для радио-кнопок в скрипте приведённом выше? Или проблема заключается в чём-то другом? | |
|
|
|
|
|
|
|
для: cheops
(05.04.2006 в 23:23)
| | да да, проблема именно в этом!!! ккое решение? где копать? | |
|
|
|
|
|
|
|
для: 10100100
(06.04.2006 в 05:37)
| | Нужно сделать две вещи
1) Посмотреть исходный HTML-код, который генерирует скрипт (желательно этот файл прикрепить сюда).
2) Распечатать в последнем обработчике содержимое суперглобального массива $_POST
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.04.2006 в 13:14)
| | всё - спасибо за помощь - сам разобрался - я не те данные передавал. точнее принимал - всем огромное спасибо! | |
|
|
|