Предполагая следующую таблицу MySQL:
имя таблицы 'Вопросы', с колонками q_id, q_text
<?php
// I'm assuming you've connected to the database server, and the correct database
$query = "SELECT q_id AS num, q_text AS question FROM questions";
$results = mysql_query($query);
$row = mysql_fetch_array($results);
?>
<form enctype="form/multipart" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<fieldset>
<?php
while($row = mysql_fetch_array($results)) {
echo "<label for=\"q" . $row['num'] . "\">" . $row['question'] . "</label>";
echo "<input type=\"text\" name=\"q" $row['num'] . "\" />
}
?>
</fieldset>
</form>
Это должно - при условии, что я не очень испортил - сгенерировать что-то вроде:
<label for="q1">What is your name?</label><input type="text" name="q1" />
<label for="q2">What is your favourite colour?</label><input type="text" name="q2" />
Возможно, стоит также добавить атрибуты id, но посмотрите, сработают ли сначала основы.
В качестве дополнения будут реализованы только прямые пары <label>
/ <input>
; если вам нужно использовать переключатели или флажки, то вам нужно будет провести различие между необходимыми типами элементов формы. Который почти наверняка будет включать в себя вторую таблицу (для разных типов "radio", "check", "text", "file" и т. Д.) И таблицу поиска, чтобы связать текст вопроса с типом элемента формы для этого вопроса.
Также стоит отметить, что использование mysqli
или pdo
может обеспечить лучшие результаты или простоту реализации. Как любитель, я еще не нашел время поработать с ними, чтобы выяснить, надежно. К моему большому стыду.