Программирование > PHP
данные базы в форму по именам таблиц
racer:
здрасте.
$res=mysql_query("SELECT * FROM table WHERE userid =\'$uid\'") or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
foreach ($row as $key => $value) {
if (1 == $value) ${$key} = \' checked\';
}
}
echo \'
<input type="checkbox" name="poiskm" value="1"\'.$poiskm.\'> выбор 1
<input type="checkbox" name="poiskw" value="1"\'.$poiskw.\'> выбор 2
// первые два чекеты сработают.. ..
// а вот тут что ниже... уже немного другое
// как решить эту проблему?
<input type="radio" name="offbrak" value="1"\'.$offbrak.\'> ответ 1
<input type="radio" name="offbrak" value="2"\'.$offbrak.\'> ответ 2
<input type="radio" name="offbrak" value="3"\'.$offbrak.\'> ответ 3
<input type="radio" name="offbrak" value="4"\'.$offbrak.\'> ответ 4
<input type="radio" name="offbrak" value="0"\'.$offbrak.\'> нет ответа\';
вот такая вот задача.. второй день ничего в голову не приходит
CGVictor:
racer
Гхм... насчитал три грубых недочета.
С радиобаттонами вообще не понял.
Чего ты пытаешься таким кодом достичь, объясни пожалуйста?
racer:
есть таблица анкеты. в каждом поле индентификатор ответа цифра 0 или 1 это в
input type="checkbox"
там по имени таблицы чек отмечает где 1.. тоесть выбрано..
а вот с радиобатонами дело обстоит хуже.. там индентификатор может быть от 0 до 9.. собственно вот и вопрос..
как определить какой надо отметить..?
html_coder:
racer
Не очень, понятно что за переменная $poiskm, но могу предположить что именно эта переменная устанавливается в цикле.
В ообщем если я правильно понял, то для того чтобы сделать то что, ты хочешь тебе надо просто
<input type="radio" name="offbrak" value="1"\'.$offbrak.\'> ответ 1
<input type="radio" name="offbrak" value="2"\'.$offbrak.\'> ответ 2
<input type="radio" name="offbrak" value="3"\'.$offbrak.\'> ответ 3
<input type="radio" name="offbrak" value="4"\'.$offbrak.\'> ответ 4
<input type="radio" name="offbrak" value="0"\'.$offbrak.\'> нет ответа\';
Выводить в цикле, например так
for($i = 1; $i < 5; $i++)
{
echo \'<input type="radio" name="offbrak" value="\'.$i.\'"> ответ \'.$i;
/*
В цикле смотреть если значение из базы совпадает со значением переменной цикла устаналивать checked для input
*/
}
Вот примерно так.
racer:
ну я так и сделал.. загнал ответы в массив
и сравнил их все получилось.. собственно даже и не плохо
$offbrak_m=5;
$offbrak_a = array(
\'0\' => \'нет ответа\',
\'1\' => \'Да, женат, живем вместе\',
\'2\' => \'Да, женат, живем порознь\',
\'3\' => \'Да, женат фиктивно\',
\'4\' => \'Вдовец\',
\'5\' => \'Нет, не женат\',
);
for($i=0;$i<=$offbrak_m;$i++) {
if($i==$offbrak){
$offbrak_v .=\'<tr><td><input type="radio" name="offbrak" value="\'.$i.\'" checked></td><td class="chekety">\'.$offbrak_a[$i].\'</td></tr>\';
} else {
$offbrak_v .=\'<tr><td><input type="radio" name="offbrak" value="\'.$i.\'"></td><td class="chekety">\'.$offbrak_a[$i].\'</td></tr>\';
}
Навигация
Перейти к полной версии