Новичок
Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.2.2012
Репутация: нет Всего: нет
|
Доброго времени суток! Вообще начал делать скрипт проведения опроса Создал три таблицы и заполнил минимальными данными | Код |
CREATE TABLE IF NOT EXISTS `answer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `question_id` int(11) DEFAULT NULL, `vote_count` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=13 ;
INSERT INTO `answer` (`id`, `name`, `question_id`, `vote_count`) VALUES (1, '5', 1, 1), (2, '7', 1, 0), (3, '9', 1, 0), (4, '12', 1, 0), (5, '11', 2, 0), (6, '22', 2, 0), (7, '25', 2, 1), (8, 'Алгебра', 3, 0), (9, 'Физика', 3, 1), (10, 'Литра', 3, 0), (11, 'История', 3, 1), (12, 'Технология', 3, 0);
CREATE TABLE IF NOT EXISTS `poll` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `status` enum('active','close','rough') DEFAULT 'close', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;
INSERT INTO `poll` (`id`, `name`, `status`) VALUES (1, 'Первый опрос', 'active');
CREATE TABLE IF NOT EXISTS `question` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` text, `type` enum('radio','chek') DEFAULT 'radio', `poll_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;
INSERT INTO `question` (`id`, `name`, `type`, `poll_id`) VALUES (1, 'Сумма числе 2+3', 'radio', 1), (2, 'Произведение чисел 5*5', 'radio', 1), (3, 'Какой у Вас любимый предмет?', 'chek', 1);
|
файл подключения к БД startup.php | Код |
function startup() { // Настройки подключения к БД. $hostname = 'localhost'; $username = 'root'; $password = ''; $dbName = 'poll'; // Подключение к БД. mysql_connect($hostname, $username, $password) or die('No connect with data base'); mysql_select_db($dbName) or die('No data base'); }
|
Файл модели model.php | Код | <?php function poll_ans() { // Запрос. $query = "SELECT question.name AS question, answer.name AS answer FROM question LEFT JOIN answer ON answer.question_id = question.id"; $result = mysql_query($query); if (!$result) die(mysql_error()); // Извлечение из БД. $n = mysql_num_rows($result); $poll= array();
for ($i = 0; $i < $n; $i++) { $row = mysql_fetch_assoc($result); $poll[] = $row; } return $poll; }
|
Ну и собственно index.php | Код | <?php include_once('startup.php'); include_once('model.php'); startup(); $poll_ans = poll_ans();
?>
<p> <? foreach ($poll_ans as $polls): ?> <?=$polls['question']?> <? foreach ($poll_ans as $polls): ?> <h3> <input type="radio" name="answer" value="a<?=$polls['question_id']?>"><?=$polls['answer']?><Br> </h3> <? endforeach ?> <? endforeach ?>
|
Как правильно вывести опрос на страницу? тоесть чтобы в шапке имя опроса, затем вопрос-ответы, вопрос-ответы. Это же по идеи автоматически должно будет генерироваться запросом с БД при выборе нужного опроса(id), и выводится на страницу. Какой то бред foreach'ем попробовал сделать, короче каша в голове( помогите пожалуйста, как правильно делается
|