Ответов: 10 Просмотров: 3846
|
Доброго времени суток! Вообще начал делать скрипт проведения опроса
Создал три таблицы и заполнил минимальными данными
CODE ( SQL):
скопировать код в буфер обмена
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
PHP:
скопировать код в буфер обмена
function startup() { // Настройки подключения к БД. $hostname = 'localhost'; $username = 'root'; $password = ''; $dbName = 'poll'; // Подключение к БД. mysql_connect($hostname, $username, $password) or die('No connect with data base'); }
Файл модели model.php
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"; if (!$result) // Извлечение из БД. for ($i = 0; $i < $n; $i++) { $poll[] = $row; } return $poll; }
Ну и собственно index.php
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'ем попробовал сделать, короче каша в голове( помогите пожалуйста, как правильно делается |