Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Опросы

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
Raphael




Зарегистрирован: 27.02.2011
Сообщения: 6

СообщениеДобавлено: Вс Фев 27, 2011 9:10 am    Заголовок сообщения: Опросы
Ответить с цитатой

Здравствуйте! Когда я ввожу следующий sql-запрос в phpMyAdmin:
Create table answers (
answer_id int not null auto_increment,
id int not null,
answer mediumtext not null,
primary key ( poll_id )
);

у меня появляется такая ошибка #1072 - Key column 'poll_id' doesn't exist in table Объясните, в чем проблема
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Фев 27, 2011 9:12 am    Заголовок сообщения:
Ответить с цитатой

Объяснение понятно из описания ошибки 1072:

ты не определил поле poll_id, у тебя его нет в таблице
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Raphael




Зарегистрирован: 27.02.2011
Сообщения: 6

СообщениеДобавлено: Вс Фев 27, 2011 9:23 am    Заголовок сообщения:
Ответить с цитатой

Я всё делал как написано в вашей книге "PHP5/6 2-е издание" в 42 главе
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Фев 27, 2011 10:33 am    Заголовок сообщения:
Ответить с цитатой

Ааа, вижу, ты нашел опечатку, спасибо В третьем издании исправил Smile

вместо poll_ID нужно answer_ID


CREATE TABLE answers (
answer_ID INT NOT NULL AUTO_INCREMENT,
ID INT NOT NULL,
answer MEDIUMTEXT NOT NULL,
PRIMARY KEY ( answer_ID )
);
Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Фев 27, 2011 10:35 am    Заголовок сообщения:
Ответить с цитатой

Кстати, попробуй Advanced Poll, должно понравится
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
chip

Тысячник


Зарегистрирован: 22.04.2010
Сообщения: 2498

СообщениеДобавлено: Вс Фев 27, 2011 10:39 am    Заголовок сообщения:
Ответить с цитатой

третье издание наверное будет респект, вот освою харашо Юникса тогда уже буду переходить на ПХП.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Raphael




Зарегистрирован: 27.02.2011
Сообщения: 6

СообщениеДобавлено: Вс Фев 27, 2011 10:42 am    Заголовок сообщения:
Ответить с цитатой

а в файле poll_form.php нет опечаток? а то у меня выдает ошибку: "Номер голосования указан неверно!"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Raphael




Зарегистрирован: 27.02.2011
Сообщения: 6

СообщениеДобавлено: Вс Фев 27, 2011 10:50 am    Заголовок сообщения:
Ответить с цитатой

А всё, спасибо, разобрался))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Raphael




Зарегистрирован: 27.02.2011
Сообщения: 6

СообщениеДобавлено: Вс Фев 27, 2011 3:23 pm    Заголовок сообщения:
Ответить с цитатой

Еще вопрос... Можно ли сделать так, чтобы при голосовании прибавлялся ни один голос, а выполнялась какая-нибудь операция. Например, ответы состоят из двух вариантов, при голосовании за один из них к нему прибавлялись все голоса варианта, за который не проголосовали? Или при голосовании все голоса умножались на 2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Фев 27, 2011 6:06 pm    Заголовок сообщения:
Ответить с цитатой

А зачем? Подтасовка счетчика для одного из вариантов? Все ж элементарно: сначала читается значение, потом увеличивается на 1 (ну или умножается на 2), затем записывается в таблицу
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Anderson

Завсегдатай


Зарегистрирован: 08.07.2006
Сообщения: 642
Откуда: localhost

СообщениеДобавлено: Вс Фев 27, 2011 9:20 pm    Заголовок сообщения:
Ответить с цитатой

Raphael, если детальнее - то:

Код:
// блок получения данных из БД...
// ...

// собственно блок модификации (припустим, $variants[] - массив из 4-х элементов с голосами,
// а номер елемента, за который проголосовали (0..3) - в переменной $newVote:
// так добавляется 1 голос:
$variants[$newVote]++;
// так умножается на 2:
$variants[$newVote]=$variants[$newVote]*2;
// ...или
$variants[$newVote]*=2;
Так все остальные уменшаются, а голосованный остается прежним:
for($i=0;$i<=3;$i++) if($newVote!=$i) $variants[$i]--;


// блок сохранения данных в БД...
// ...

_________________
ArchLinux + Enlightenment 17 (E17)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение anderson.dunai@gmail.com Моб. телефон ICQ Number
Raphael




Зарегистрирован: 27.02.2011
Сообщения: 6

СообщениеДобавлено: Пн Фев 28, 2011 9:04 am    Заголовок сообщения:
Ответить с цитатой

Просто у меня вот так увеличивается голос:

$q = "INSERT INTO votes ( answer_ID , ID)
VALUES ($answer, $poll);";
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис