psyon Бедняк

Регистриран на: 25 Яну 2009 Мнения: 21
8 Домейн Точки
|
Пуснато на: Сря Яну 28, 2009 5:49 pm Заглавие: Анкета + админ панел |
|
|
Това е код с доста пояснения кое за какво е.
Сега нека започваме с анкетата.
Първото нещо, което Ви трябва е SQL структрурата на БД. Ето я и нея:
CREATE TABLE `poll` (
`id` int(10) NOT NULL auto_increment,
`vapros` varchar(250) COLLATE utf8_general_ci NOT NULL default '',
`podrejdane` int(1) NOT NULL default '1',
`status` int(1) NOT NULL default '1',
PRIMARY KEY (`id`)
);
CREATE TABLE `otgovori` (
`id` int(10) NOT NULL auto_increment,
`id_poll` int(10) NOT NULL,
`otgovor` varchar(250) COLLATE utf8_general_ci NOT NULL default '',
`broi` int(5) NOT NULL default '0',
PRIMARY KEY (`id`)
);
CREATE TABLE `ips` (
`id` int(10) NOT NULL,
`ip` varchar(25) COLLATE utf8_general_ci NOT NULL default '',
PRIMARY KEY (`id`)
);
След като сте създали BD и сте създали таблицата следва да създаден файла за връзка с BD.
Него ще го кръстим config_poll.php
Ето го и него:
<php>
Така мисля, че ви е ясно как да го попълните. Само долу където е променливата $pass_admin променете 123 на паролата, с която желаете да влизате в админ панела.
Нека сега продължим с кода.
Създавате си един файл function_poll.php
В него сложете следният код:
<php> 0) { // ако анкетата съществува нея ще изкарваме в страницата
$poll_query = mysql_query("SELECT * FROM poll WHERE id = '$promenliva' LIMIT 1");
$poll = mysql_fetch_array($poll_query);
$poll_broi = mysql_num_rows($poll_query);
} else { // ако не съществува ще изкараме най-новата добавена анкета
$poll_query = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1");
$poll = mysql_fetch_array($poll_query);
$poll_broi = mysql_num_rows($poll_query);
}
} else { // ако не сме избрали точно дадена анкета ще вземеме последната добавена
$poll_query = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1");
$poll = mysql_fetch_array($poll_query);
$poll_broi = mysql_num_rows($poll_query);
}
if ($poll_broi > 0) { // ако изобщо съществува анкета
if ($poll['status'] == 1) { // проверяваме дали сме включили анкетата
$dali_si_glasuval = mysql_num_rows(mysql_query("SELECT * FROM ips WHERE ip = '$ip' AND id = '".$poll['id']."'"));
if ($dali_si_glasuval == 0) { // проверяваме дали потребителя е гласувал. Ако не е му позволяваме да гласува
if (isset($_POST['submit']) && isset($_POST['vote']) && is_numeric($_POST['vote'])) { // малко защити
$vote = $_POST['vote'];
$dali_taq_anketa = mysql_fetch_array(mysql_query("SELECT * FROM otgovori WHERE id = '$vote' LIMIT 1"));
if ($dali_taq_anketa['id_poll'] == $poll['id']) { // проверяваме дали отговора е точно към тази анкета
mysql_query("UPDATE otgovori SET broi = broi + 1 WHERE id = '$vote' LIMIT 1");
mysql_query("INSERT INTO ips (id,ip) VALUES ('".$poll['id']."','$ip')");
if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове
$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by");
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll");
$votes = mysql_fetch_array($query);
$votes = $votes['kolko'];
?>
<poll><br><br>
<table>
<php>
<tr><td><row_otgovori></td><td><img><img><img></td><td>Гласове: <row_otgovori> (<procent>%)</td></tr>
<php>
</table><br>
Общо гласове: <votes>
<php>
<poll><br><br>
<form>
<php>
<input> <row_otgovori><br>
<php>
<input>
</form>
<php>
<poll><br><br>
<table>
<php>
<tr><td><row_otgovori></td><td><img><img><img></td><td>Гласове: <row_otgovori> (<procent>%)</td></tr>
<php>
</table><br>
Общо гласове: <votes>
<php>
<poll><br><br>
<table>
<php>
<tr><td><row_otgovori></td><td><img><img><img></td><td>Гласове: <row_otgovori> (<procent>%)</td></tr>
<php>
</table><br>
Общо гласове: <votes>
<php>
Този код може да не го закачате. Разбира се ако желаете да променяте нещо може да го направите стига да знаете как. |
|