[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: тип поля ввода в формах
R2D2
Друзья, помогите!
Есть такой код, он работает но хочеться отобразить вопросы не с помощью <input type=RADIO> а с помощью <SELECT></select>
Я думал так сделать но не работает:
echo '<select name="valor"><option value="'.$result->id.'"><span>'.$result->variants.'</span></option></select>';
sad.gif


<?php
$aux = 0;
$sql = "SELECT a.question as question, a.date as date, b.id as id, b.variants as variants, b.valor as valor FROM survey a INNER JOIN survey_var b ON a.id = b.id_survey WHERE a.id = ".$id;
$req = mysql_query($sql);

while($result = mysql_fetch_object($req)){

if($aux == 0){
echo '<h1>'.$result->question.'</h1>';

echo '<ul class="vote">';
$aux = 1;
}

echo '<input name="valor" type="radio" value="'.$result->id.'"><span>'.$result->nombre.'</span>';

}
echo '</ul>';

if(!isset($_POST['valor'])){
echo "<div class='error'>Selecciona una opcion.</div>";
}

echo "<input name='vote' type='submit' value='Vote' class='vote'>";
echo "<a href='results.php?id=".$id."' class='results'>results</a>";

?>
DeeKeiD
Для каждого вопроса потребуется свой <select>

<select name="вопрос 1">
<option
value="(ид 1 варрианта ответа)">(варриант ответа 1)</option>
<option
value="(ид 2 варрианта ответа)">(варриант ответа 2)</option>
<option
value="(ид 3 варрианта ответа)">(варриант ответа 3)</option>
</select>

<select
name="вопрос 2">
<option
value="(ид 1 варрианта ответа)">(варриант ответа 1)</option>
<option
value="(ид 2 варрианта ответа)">(варриант ответа 2)</option>
<option
value="(ид 3 варрианта ответа)">(варриант ответа 3)</option>
</select>


и т.д.


_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©
R2D2
Цитата
Для каждого вопроса потребуется свой <select>

DeeKeiD спасибо!
Я решил так и правильно отображается но при нажатии в "submit" инфа не заносится в базу sad.gif
если включить mysql_error() то говорить
mySQL error: Unknown column 'Да' in 'where clause'

таблица survey_var в mysql выглядит так:
`survey_var` (`id` ,`id_survey` ,`variants` ,`valor`)

Как исправить код так чтобы заносилось инфо в column 'valor'??

ПОМОГИТЕ!

<?php
require('db.php');
$id = $_GET['id'];
if(!isset($_GET['id'])){
header('location: index.php');
}

if(isset($_POST['votar']))//submit
{

if(isset($_POST['valor'])){
$opciones = $_POST['valor'];
$mod = mysql_query("SELECT * FROM survey_var WHERE id = ".$opciones);
if (!$result) die("mySQL error: ". mysql_error());// errors????
while($result = mysql_fetch_object($mod)){
$valor = $result->valor + 1; // 'valor' + 1 unit
mysql_query("UPDATE survey_var SET valor = '".$valor."' WHERE id = ".$opciones); // SQL
}
header('location: resultado.php?id='.$id); // redirection.
}
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Sistema de encuestas</title>
<link rel="stylesheet" href="estilos.css">
</head>
<body>

<div class="wrap">

<form action="" method="post">
<select id=".$result->id." name="valor">
<?php
$aux = 0;
$sql = "SELECT a.question as question, a.date as date, b.id as id, b.variants as variants, b.valor as valor FROM survey a INNER JOIN survey_var b ON a.id = b.id_survey WHERE a.id = ".$id;
$req = mysql_query($sql);

while($result = mysql_fetch_object($req)){

if($aux == 0){
echo '<h1>'.$result->question.'</h1>';

echo '<ul class="votacion">';
$aux = 1;
}

echo "<option>$result->variants</option>";


}
echo '</ul>';

if(!isset($_POST['valor'])){
echo "<div class='error'>Select an option.</div>";
}

echo "<p><input name='votar' type='submit' value='Votar' class='votar'></p>";
echo "<a href='resultado.php?id=".$id."' class='resultado'>see results</a>";

?>
</select>

</form>
</div>

</body>
</html>
DeeKeiD
Как выглядит сам запрос в базу?
Что выдаёт var_dump($_POST); ? - в начало скрипта

_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.