Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Избранное > не знаю что делать


Автор: Bangladesh 8.1.2005, 03:36
я хочу изучить ПХП и пока у меня под руку не подворачивается проектов, где я могу обучаться, везде один if...else, echo... вообщем простота ужасная. я знаю, что на форуме много профессионалов и хотел бы, чтобы в этом топике они постили задания для меня, причем посложнее чем if...else, for и т.д. я хочу заняться веб-разработкой, а мне нужен опыт. расчитывайте на мой уровень, поэтому сразу не задавайте писать аналог IPB, phpBB и т.д smile

всем заданиям буду рад, только сразу не валите. после их выполнения буду сюда же кидать написанный скрипт. только серьезно пожалуйста.

Автор: IZ@TOP 8.1.2005, 03:42
Хорошо. Вот тебе задание №1

Тебе необходимо написать голосование. Использовать как базу данных ты будешь файлы.

Для реализации голосования тебе необходимо продумать детали:

1) Структура базы.
2) Логику скрипта (вывод результатов, само голосование, администрирование, архив).
3) Интерфейс пользователя.
4) Анти-флуд (для защиты от накрутки).

Задавай вопросы, мы тебе поможем. По окончании задания будет поощрение.

Автор: Mal Hack 8.1.2005, 13:55
В качетсве альтернативы могу предложить гостевую книгу. Алгоритм понятен до безобразия...
Помимо тех же пунктов, что сказал Изатоп можно предусмотреть:
1. Ответ администратор
2. Шаблон вывода.
3. Фильтр слов.
5. Смайлы и простые BB тэги. (немножко попробуешь с регулярками пработать).

Автор: PARROT 8.1.2005, 20:49
Цитата(Mal @ 8.1.2005, 13:55)
В качетсве альтернативы могу предложить гостевую книгу. Алгоритм понятен до безобразия...
Помимо тех же пунктов, что сказал Изатоп можно предусмотреть:
1. Ответ администратор
2. Шаблон вывода.
3. Фильтр слов.
5. Смайлы и простые BB тэги. (немножко попробуешь с регулярками пработать).

Я тут подумала, а не прибиться ли мне к вашей компании!?
Мне тоже необходимо научиться писать на php, научиться для себя.
Прошу принять к сведению, что php занимаюсь всего 1 год из них 8 месяцев все скрипты писали за меня, я их только копировала особо не разбираясь в содержании и тут мне это дело надоело, тем более человек который за меня писал, теперь занят, пишет книгу по Msql, ему не до меня.
Прошу дать мне задание в соответствии с моим уровнем знаний.
Пожалуйста!
Обязуюсь слушаться.

Автор: Mal Hack 8.1.2005, 21:03
PARROT
бери либо мое, либо вариант Изатопа.

Автор: Vaulter 8.1.2005, 21:06
I, GyoZ
могу на мыло кинуть сорсы подобной штуки для ознакомления

Автор: PARROT 8.1.2005, 22:08
Цитата(Vaulter @  8.1.2005,  21:06)
 I, GyoZ
могу на мыло кинуть сорсы подобной штуки для ознакомления 

Попытаюсь понять.
Может что попроще для начала? 

Автор: PARROT 8.1.2005, 22:44
Цитата(PARROT @  8.1.2005,  22:08)
 
Цитата(Vaulter @  8.1.2005,  21:06)
 I, GyoZ
могу на мыло кинуть сорсы подобной штуки для ознакомления 

Попытаюсь понять.
Может что попроще для начала? 

 Я наверно, если можно возьмусь голосование писать.?
Только вот мне не понятно, что такое структура базы в текстовом файле.
Там должны содержаться голоса, проголосовавших?
Например "да-10 голосов" "Нет-30 голосов", Так?

 

Автор: Mal Hack 8.1.2005, 22:48
Совет... Учитесь работать с БД сразу... Никаких файлов...

Автор: PARROT 8.1.2005, 23:47
Цитата(Mal @ 8.1.2005, 22:48)
Совет... Учитесь работать с БД сразу... Никаких файлов...

Ок. С базой так с базой, даже лучше.
Тогда меня интересуют следующие вопросы:
Администрирование, архив: Как это делается? Я незнаю.
Что там должно содержаться?
Про такое я не слышала.
Голосование с базой у меня написано, могу написать новое, более обширное, практически сама писала, с некоторой вашей помощью.

Автор: Mal Hack 9.1.2005, 00:03
Администрирование - создается как бы отлдельный скрипт, который защищается пароем и там - формы управления гоосованием.

Цитата(PARROT @ 8.1.2005, 23:47)
архив

А что тут не понятно,.. голосование делается на определенный срок, потом оно неактивно.. Это один из вариантов. Другой - оно принудительно закрывается админом.

Автор: Bangladesh 9.1.2005, 01:42
Цитата(Mal @ 8.1.2005, 21:48)
Совет... Учитесь работать с БД сразу... Никаких файлов...

я возьмусь писать голосование с использованием MySQL, нормально? только объяснить плиз, что такое структура базы и как её разрабатывать \ это можно в двух словах \ еще был бы любезен, если ты дал ссылки где моно нарыть про PHP+MySQL

Автор: Mal Hack 9.1.2005, 01:48
Струтура базы это таблицы и столбцы. К примеру для форума.
Таблица пользователи:
|ID_user|User_pass|User_Name
Таблица форумов:
|ID_forum|Forum_name
Таблица тем
|ID_theme|ID_foruma|ID_Autor|theme_name|theme_text
Посты:
|ID_post|Post_data|Post_autor|Post_text|
Добавлено @ 01:48
Цитата(I)
еще был бы любезен, если ты дал ссылки где моно нарыть про PHP+MySQL

Конкретно по какому вопросу?

Автор: Рыжий 9.1.2005, 02:07
по взаимодействию php с mysql можешь кинуть

Автор: PARROT 9.1.2005, 02:13
Цитата(Mal @ 9.1.2005, 00:03)
Администрирование - создается как бы отлдельный скрипт, который защищается пароем и там - формы управления гоосованием.

Цитата(PARROT @ 8.1.2005, 23:47)
архив

А что тут не понятно,.. голосование делается на определенный срок, потом оно неактивно.. Это один из вариантов. Другой - оно принудительно закрывается админом.

Я вот тут сижу и думаю, админку для голосования конечно написать можно, только что там администрировать? Голоса?
И еще, по поводу неактивного голосования:
Достаточно ли того, как поменять input type=submit на input type=button?
Если да, то пользователь может подумать, что голосование просто не работает, написано не верно.
Не проще ли вообще стереть его с лица земли или заменить на новое?
Принудительно закрывается админом: Это как?

Автор: Bangladesh 9.1.2005, 02:29
Цитата(Mal @ 9.1.2005, 00:48)
Конкретно по какому вопросу?

даю инфу: я вообще не шарю, что такое столбцы, колонки и таблицы в MySQL я шарю только, что такое база данных.

теперь сам реши, что мне надо почитать сначала...
Добавлено @ 02:33
или ты имеешь в виду вот это (на пример форума)

+ НАЗВАНИЕ_БАЗЫ (это база голосования)
---название таблицы (допустим ЛОГИНЫ)
---название таблицы (допустим ПАРОЛИ)


Автор: Рыжий 9.1.2005, 02:34
Если честно высказаться, - то я вас вообще не понимаю!
Зачем изобретать велосипед! в инете есть куча скриптов, для голосования и т.д.
Для практики ты например можешь сделать что-то другое, чего раньше не было, конечно фантазии должно быть 1000000кг, это я тебе говорю, но успех после этого просто супер.
Попробуй дать обьявление, мол супер крутой кодер на php сделает сайт типа microsoft.com
После того, как тебе пришлют заказ - постарайся его реализовать (это будет конечно сложно, даже не возможно!) но по крайней мере у тебя будет цель, цель к которой нужно будет стремиться идти все так сказать жизнь, проходя все трудности, и перечитываю десятки тысяч страниц литературы.
Но поверь мне, когда ты сможешь выполнить тот заказ, пусть даже через год другой, ты будешь просто супер гением тебе тогда гостевую книгу написать будет раз плюнут, это я тебе серьёзно говорю!

Автор: Bangladesh 9.1.2005, 04:51
не надо вот этой вот сдержанной злости. не понимаешь и не надо... такие люди как ты, видимо не понимают зачем это надо...
Добавлено @ 04:53
когда делаешь сам - это бессмысленно! а когда для кого-то, то не бессмысленно!

Автор: Gold Dragon 9.1.2005, 11:40
Цитата(D @ 9.1.2005, 02:34)
Зачем изобретать велосипед!
Вот именно, в данном случае и нужно заново изобрести велосипед(!) И чтобы научиться и чтобу мозги заработали...

если не против я тоже попробую поучаствовать, хотя опыта меньше чем мало smile

Автор: Mal Hack 9.1.2005, 13:29
на счет базы....
Почитайте вот эти статьи:
http://detail.phpclub.ru/article/2000-11-21
http://detail.phpclub.ru/article/phpintro
http://detail.phpclub.ru/article/2002-06-03
http://detail.phpclub.ru/article/2000-12-04
http://detail.phpclub.ru/article/2000-12-05

Автор: PARROT 9.1.2005, 15:25
Цитата(PARROT @ 9.1.2005, 02:13)
Цитата(Mal @ 9.1.2005, 00:03)
Администрирование - создается как бы отлдельный скрипт, который защищается пароем и там - формы управления гоосованием.

Цитата(PARROT @ 8.1.2005, )
архив

А что тут не понятно,.. голосование делается на определенный срок, потом оно неактивно.. Это один из вариантов. Другой - оно принудительно закрывается админом.

Я вот тут сижу и думаю, админку для голосования конечно написать можно, только что там администрировать? Голоса?
И еще, по поводу неактивного голосования:
Достаточно ли того, как поменять input type=submit на input type=button?
Если да, то пользователь может подумать, что голосование просто не работает, написано не верно.
Не проще ли вообще стереть его с лица земли или заменить на новое?
Принудительно закрывается админом: Это как?

Про меня забыли? smile
Добавлено @ 15:31
Цитата(D @ 9.1.2005, 02:34)
Если честно высказаться, - то я вас вообще не понимаю!
Зачем изобретать велосипед! в инете есть куча скриптов, для голосования и т.д.
Для практики ты например можешь сделать что-то другое, чего раньше не было, конечно фантазии должно быть 1000000кг, это я тебе говорю, но успех после этого просто супер.
Попробуй дать обьявление, мол супер крутой кодер на php сделает сайт типа microsoft.com
После того, как тебе пришлют заказ - постарайся его реализовать (это будет конечно сложно, даже не возможно!) но по крайней мере у тебя будет цель, цель к которой нужно будет стремиться идти все так сказать жизнь, проходя все трудности, и перечитываю десятки тысяч страниц литературы.
Но поверь мне, когда ты сможешь выполнить тот заказ, пусть даже через год другой, ты будешь просто супер гением тебе тогда гостевую книгу написать будет раз плюнут, это я тебе серьёзно говорю!

По поводу велосипеда, да конечно проще скопировать чужой скрипт, но это не возбуждает и знаний от этого не прибавляется, в особенности если учесть, что разбираться в чужой писанине намного сложнее чем в своей.
А потом сидишь рядом с программером и удивляешься, у него на все есть свой ответ, свой выход из положения и все всегда работает и возникает вопрос: Почему я так не могу? Я что туп? Или?
Просто ленивый человек, которому ничего не нужно.
А начинать нужно как раз с таких скриптов, простых до безумия как голосование и т.д.

Автор: PARROT 9.1.2005, 15:36
Цитата(I @ 9.1.2005, 04:51)
не надо вот этой вот сдержанной злости. не понимаешь и не надо... такие люди как ты, видимо не понимают зачем это надо...
Добавлено @ 04:53
когда делаешь сам - это бессмысленно! а когда для кого-то, то не бессмысленно!

По поводу базы:
Я думаю, что все таки нужно купить книгу "Разработка Web-приложений с помощью PHP и MySQL, авторы Люк Веллинг и Лора Томсон, второе издание", она поможет по многим вопросам в том числе и с базой, в книге можно найти массу ответов на практически все вопросы связанные с этим не легким, но в то же время безумно интересным программированием.

Автор: PARROT 9.1.2005, 19:11
Цитата(IZ @ 8.1.2005, 03:42)
Хорошо. Вот тебе задание №1

Тебе необходимо написать голосование. Использовать как базу данных ты будешь файлы.

Для реализации голосования тебе необходимо продумать детали:

1) Структура базы.
2) Логику скрипта (вывод результатов, само голосование, администрирование, архив).
3) Интерфейс пользователя.
4) Анти-флуд (для защиты от накрутки).

Задавай вопросы, мы тебе поможем. По окончании задания будет поощрение.

В итоге у меня не получается.
Я не могу понять, почему база не считает голоса?
Может потому что в базе присуствует русский язык и база его не понимает?

Вот сама база:
#
# Table structure for table 'vote'
#

CREATE TABLE vote (
description varchar(100) NOT NULL default '',
result int(11) NOT NULL default '0'
) TYPE=MyISAM;



#
# Dumping data for table 'vote'
#

INSERT INTO vote VALUES("Да, по религиозным убеждениям", "0");
INSERT INTO vote VALUES("Да, для поддержания нормального веса и здоровья", "0");
INSERT INTO vote VALUES("Соблюдаю, но не очень и иногда", "0");
INSERT INTO vote VALUES("Не соблюдаю, потому что не могу себя заставить, не могу без мяса, пива и прочей вкуснятины", "0");
INSERT INTO vote VALUES("Не соблюдаю, потому что мне это не надо", "0");

Вот сам скрипт:

<?
mysql_connect("localhost","voting","");
mysql_select_db("voting");
if(mysql_query("UPDATE vote SET result=result+1 where description='$rad'"));
?>
<form method="get" action=index.php>
<table width="450" cellpadding="0" cellspacing="0">
<tr>
<td style="border:0; padding-left:20"><input type="radio" name="rad" value="a" checked>Да, по религиозным убеждениям</td>
</tr>
<tr>
<td style="border:0; padding-left:20"><input type="radio" name="rad" value="b">Да, для поддержания нормального веса и здоровья</td>
</tr>
<tr>
<td style="border:0; padding-left:20"><input type="radio" name="rad" value="c">Соблюдаю, но не очень и иногда ;)</td>
</tr>
<tr>
<td style="border:0; padding-left:20"><input type="radio" name="rad" value="d">Не соблюдаю, потому что не могу себя заставить,<br> не могу без мяса, пива и прочей вкуснятины</td>
</tr>
<tr>
<td style="border:0; padding-left:20"><input type="radio" name="rad" value="i">Не соблюдаю, потому что мне это не надо</td>
</tr>
<tr>
<td align="center"><input type="submit" value="Голосовать" style='width:100;background-color:white;' style="cursor:hand"></td>
</tr>
</table>
</form>
<?

#вывод
$query = mysql_query("select * from vote");
while($row = mysql_fetch_array($query)){
echo $row['description'].":".$row['result']."<br \>\n";
}
?>

Объясните пожалуйста. Жду.

Автор: IZ@TOP 9.1.2005, 19:56
PARROT, значит по поводу арзхива голосования:

Ты можешь увидеть результаты, но не можешь проголосовать. То есть если голосование находится в архиве, значит есть только одна ссылка и она ведет на просмотр результатов (отдельный шаблон). Второе: в администрирование должна быть возможность редактировать как само число проголовавших, так и название пунктов и название самого голосования.

Далее: у тебя изначально неверная структура базы.

Для создания множества голосований придется создавать разные таблицы. Я бы реализовал несколько иначе:

Код
create table vote_tree (
   id int(11) not null auto_increment,
   name varchar(100) not null,
   closed enum('1','0') not null default '0',
   primary key(id)
);

create table vote_fields (
   id int(11) not null auto_increment,
   vtid int(11) not null,
   name varchar(100) not null,
   votes int(11) not null default '0',
   primary key(id)
);


Дальше думаем, внедрим ли мы возможность показа только одного голосования, либо предусмотрим возможность определять какое именно голосование должно быть отображено на странице и возможно ли будет отображать на разных страницах разные голосования.


ALL: Думаю что всем кто хочет поучится, стоит начать именно с голсоования, по итогам, будет выбран лучший скрипт голосования и сделано поощрение победителю.
Добавлено @ 19:58
PS Требования как и раньше:

Рабзработать следующие пункты и предоставить отчет о работе и функциональности скрипта голосования.

1) Структура базы.
2) Логику скрипта (вывод результатов, само голосование, администрирование, архив).
3) Интерфейс пользователя.
4) Анти-флуд (для защиты от накрутки).

PS Надеюсь все согласны? Будут еще вопросы, пишите.

Автор: Рыжий 9.1.2005, 22:10
Цитата(PARROT @ 9.1.2005, 14:36)
По поводу базы:
Я думаю, что все таки нужно купить книгу "Разработка Web-приложений с помощью PHP и MySQL, авторы Люк Веллинг и Лора Томсон, второе издание", она поможет по многим вопросам в том числе и с базой, в книге можно найти массу ответов на практически все вопросы связанные с этим не легким, но в то же время безумно интересным программированием.

Да, я эту книгу видел, посморел на содержание - ничего так, кстати цена 66uhy? это где то 12$

Автор: PARROT 10.1.2005, 00:30
Цитата(D @ 9.1.2005, 22:10)
Цитата(PARROT @ 9.1.2005, 14:36)
По поводу базы:
Я думаю, что все таки нужно купить книгу "Разработка Web-приложений с помощью PHP и MySQL, авторы Люк Веллинг и Лора Томсон, второе издание", она поможет по многим вопросам в том числе и с базой, в книге можно найти массу ответов на практически все вопросы связанные с этим не легким, но в то же время безумно интересным программированием.

Да, я эту книгу видел, посморел на содержание - ничего так, кстати цена 66uhy? это где то 12$

250 руб., стоимость этой книги.

Автор: PARROT 10.1.2005, 01:01
Цитата(IZ @ 9.1.2005, 19:56)
PARROT, значит по поводу арзхива голосования:

Ты можешь увидеть результаты, но не можешь проголосовать. То есть если голосование находится в архиве, значит есть только одна ссылка и она ведет на просмотр результатов (отдельный шаблон). Второе: в администрирование должна быть возможность редактировать как само число проголовавших, так и название пунктов и название самого голосования.

Далее: у тебя изначально неверная структура базы.

Для создания множества голосований придется создавать разные таблицы. Я бы реализовал несколько иначе:

Код
create table vote_tree (
   id int(11) not null auto_increment,
   name varchar(100) not null,
   closed enum('1','0') not null default '0',
   primary key(id)
);

create table vote_fields (
   id int(11) not null auto_increment,
   vtid int(11) not null,
   name varchar(100) not null,
   votes int(11) not null default '0',
   primary key(id)
);


Дальше думаем, внедрим ли мы возможность показа только одного голосования, либо предусмотрим возможность определять какое именно голосование должно быть отображено на странице и возможно ли будет отображать на разных страницах разные голосования.


ALL: Думаю что всем кто хочет поучится, стоит начать именно с голсоования, по итогам, будет выбран лучший скрипт голосования и сделано поощрение победителю.
Добавлено @ 19:58
PS Требования как и раньше:

Рабзработать следующие пункты и предоставить отчет о работе и функциональности скрипта голосования.

1) Структура базы.
2) Логику скрипта (вывод результатов, само голосование, администрирование, архив).
3) Интерфейс пользователя.
4) Анти-флуд (для защиты от накрутки).

PS Надеюсь все согласны? Будут еще вопросы, пишите.

Наверно потребуются некоторые объяснения, по поводу организации этой базы:

1 таблица- для хранения всех голосований, своего рода дерево голосования.
1 поле- номер глосования, которое является ключем.
2 поле- название голосования.
3 поле- если голосование закрыто, то оно является 0, если активно, то 1?
Правильно я поняла эту строчку closed enum('1','0') not null default '0',
По умолчанию оно является закрытым, то есть 0.

create table vote_tree (
id int(11) not null auto_increment,
name varchar(100) not null,
closed enum('1','0') not null default '0',
primary key(id)
);

2 таблица - область голосования, то есть здесь хранится сами голосования.
1 поле- номер голосования, которое является ключем.
2 поле- вызываемый номер голосования в данный момент, активное.
3 поле- строки с названиями для голосования.
4 поле- отданные голоса.


create table vote_fields (
id int(11) not null auto_increment,
vtid int(11) not null,
name varchar(100) not null,
votes int(11) not null default '0',
primary key(id)
);

Просьба исправить ошибки, если они имееются, чтобы потом небыло запуток.

Автор: Bangladesh 10.1.2005, 01:03
CREATE, RUN TABLE - это пишется между <? ?> или в консоле mysql> я че-то недогоняю... если в консоле, то как её открыть или че? счас пока статейки прочитаю

Автор: PARROT 10.1.2005, 01:08
Цитата(I @ 10.1.2005, 01:03)
CREATE, RUN TABLE - это пишется между <? ?> или в консоле mysql> я че-то недогоняю... если в консоле, то как её открыть или че? счас пока статейки прочитаю

Create table пишется ();
Или в PHPAdmin или в текстовом файле, который потом заносится в Far, при уже запущенной базе mysql_d запуск базы в Far, папка bin

Автор: Bangladesh 10.1.2005, 01:37
непонял, как файл добавлять в фар, где писать, что... не понял вообще нифига. смотри, мне для голосования нужна талица, где NAME и ГОЛОСА

вид такой

-----------------+
name | opros |
------------------
| |
| |

можешь дать четкий олгаритм, с описанием как это сделать ...

Автор: PARROT 10.1.2005, 02:10
Цитата(I @ 10.1.2005, 01:37)
непонял, как файл добавлять в фар, где писать, что... не понял вообще нифига. смотри, мне для голосования нужна талица, где NAME и ГОЛОСА

вид такой

-----------------+
name | opros |
------------------
| |
| |

можешь дать четкий олгаритм, с описанием как это сделать ...

1.Пишешь текстовый файл с create table и помещаешь его в прогу Msql -> папку bin
2. Открываешь Far, находишь там папку MSQL, открываешь, находишь папку bin, открываешь в консоле пишешь msql_d запуск сервера.
А вот как занести в базу файл я забыла.
А вообще лучше поставить программу PHPadmin и действовать оттуда.
Добавлено @ 02:14
Цитата(PARROT @ 10.1.2005, 02:10)
Цитата(I)
непонял, как файл добавлять в фар, где писать, что... не понял вообще нифига. смотри, мне для голосования нужна талица, где NAME и ГОЛОСА

вид такой

-----------------+
name | opros |
------------------
          |          |
          |          |

можешь дать четкий олгаритм, с описанием как это сделать ...

1.Пишешь текстовый файл с create table и помещаешь его в прогу Msql -> папку bin
2. Открываешь Far, находишь там папку MSQL, открываешь, находишь папку bin, открываешь в консоле пишешь msql_d запуск сервера.
А вот как занести в базу файл я забыла.
А вообще лучше поставить программу PHPadmin и действовать оттуда.

CREATE TABLE voting (
name varchar(10) NOT NULL default '',
opros int(11) NOT NULL default '0',
);




Автор: IZ@TOP 10.1.2005, 03:15
Чтобы создать таблицу можно воспользоваться несколькими способами:
1) Зайти на официальный сайт MySQL и почитать русифицированную доку по MySQL ( http://dev.mysql.com/doc/mysql/ru/index.html ).
2) Скачать любой администратор базы MySQL с GUI (например MySQL Front - это win32 приложение для работы с MySQL, либо PhpMyAdmin - скрипт для администрирования MySQL написанный на PHP).
3) Запусти утилиту mysql.exe находящуюся в папке bin где проинсталлена твоя версия БД и поступи следующим способом:
mysql-> cretate database basetest; (это если у тебя она не создана уже)
mysql-> use basetest;
и далее вводи cretate table.


PARROT, ты все правильно поняла на счет взаимосвязи таблиц, но поле closed стоит в 1 если голосование закрыто (насколько я понимаю игнлишь - closed переводится как "закрыто").
Добавлено @ 03:24
Чтобы Вы особенно не напрягались с раздумьями как организовать вывод голосований, могу дать небольшую подсказочку:

Код

select * from vote_tree as t, vote_fields as f
 where f.vtid = t.id order by t.id


Имея следующее наполнение:

Код

# MySQL-Front Dump 2.2
#
# Host: localhost   Database: test
#--------------------------------------------------------
# Server version 5.0.0-alpha-nt

INSERT INTO vote_tree VALUES("1","Вы курите?","0");

INSERT INTO vote_fields VALUES("1","1","Да","0");
INSERT INTO vote_fields VALUES("2","1","Нет","0");
INSERT INTO vote_fields VALUES("3","1","Бросил","0");
INSERT INTO vote_fields VALUES("4","1","Только травку","0");


Предыдущий запрос получит из базы все записи в виде:

Цитата
id,name,closed,id_1,vtid,name_1,votes
1,Вы курите?,0,1,1,Да,0
1,Вы курите?,0,2,1,Нет,0
1,Вы курите?,0,3,1,Бросил,0
1,Вы курите?,0,4,1,Только травку,0

Автор: IZ@TOP 10.1.2005, 03:32
Конечно мы можем доставть только самое последнее госование, для этого нам необходимо немного перестроить запрос. Точнее говоря разбить его на две части.

Первый будет получать последнее добавленное голосование:

Код

select id, name from vote_tree order by id desc limit 1


Второй вернет все возможноые варианты ответов на полученное голосование:

Код

select id, name from vote_fields where vtid = $row['id']

Автор: PARROT 10.1.2005, 14:50
Спасибо IZ@TOP, за такое классное объяснение, на курсах так подробно никто не объяснял.
А то, что я уже понимаю, взаимосвязи таблиц, это большой +, раньше за собой этого не замечала.
Сейчас мозги проснутся, попробую написать.
Спасибо! smile
Добавлено @ 14:57
Цитата(PARROT @ 10.1.2005, 02:10)
Цитата(I)
непонял, как файл добавлять в фар, где писать, что... не понял вообще нифига. смотри, мне для голосования нужна талица, где NAME и ГОЛОСА

вид такой

-----------------+
name | opros |
------------------
          |          |
          |          |

можешь дать четкий олгаритм, с описанием как это сделать ...

1.Пишешь текстовый файл с create table и помещаешь его в прогу Msql -> папку bin
2. Открываешь Far, находишь там папку MSQL, открываешь, находишь папку bin, открываешь в консоле пишешь msql_d запуск сервера.
А вот как занести в базу файл я забыла.
А вообще лучше поставить программу PHPadmin и действовать оттуда.
Добавлено @ 02:14
Цитата(PARROT @ 10.1.2005, 02:10)
Цитата(I)
непонял, как файл добавлять в фар, где писать, что... не понял вообще нифига. смотри, мне для голосования нужна талица, где NAME и ГОЛОСА

вид такой

-----------------+
name | opros |
------------------
          |           |
          |           |

можешь дать четкий олгаритм, с описанием как это сделать ...

1.Пишешь текстовый файл с create table и помещаешь его в прогу Msql -> папку bin
2. Открываешь Far, находишь там папку MSQL, открываешь, находишь папку bin, открываешь в консоле пишешь msql_d запуск сервера.
А вот как занести в базу файл я забыла.
А вообще лучше поставить программу PHPadmin и действовать оттуда.

CREATE TABLE voting (
name varchar(10) NOT NULL default '',
opros int(11) NOT NULL default '0',
);

Дополнение к моему, неполному, ночному ответу:
Чтобы занести файл в базу, нужно поступить следующим образом:
1.Пишешь текстовый файл с create table и помещаешь его в прогу Msql -> папку bin
2. Открываешь Far, находишь там папку MSQL, открываешь, находишь папку bin, открываешь в консоле пишешь msql_d запуск сервера.
3.В консоле пишешь create имя твоей базы данных (создание базы).
4.После заносишь в базу свой написанный файл с create table:
mysql имя базы < 1.txt (название твоего файла с сreate table), если все нормально, то база заработает, если есть ошибки при написании, то база покажет тебе где и в какой строчке допущена ошибка.
Ну вот. Это так, на всякий пожарный.

Автор: Mal Hack 10.1.2005, 15:09
А зачем там геморроится?
Поставь phpmyadmin (веб-интерфейс для работы с базой)..

Автор: PARROT 10.1.2005, 16:07
Цитата(Mal @ 10.1.2005, 15:09)
А зачем там геморроится?
Поставь phpmyadmin (веб-интерфейс для работы с базой)..

Для общего развития полезно.

Автор: IZ@TOP 10.1.2005, 16:23
PARROT, просто запусти mysql.exe и в него копируй текст создания таблицы. Разумеется сначало сделай use имя_базы.

Автор: PARROT 10.1.2005, 17:48
Цитата(IZ @ 10.1.2005, 16:23)
PARROT, просто запусти mysql.exe и в него копируй текст создания таблицы. Разумеется сначало сделай use имя_базы.

Спасибо.
Я пользуюсь Денвером, msqlfront.exe и Ultra Edit как редактор php code.
Вышеуказанным способом нас учили пользоваться на курсах, видно для общего развития.

Автор: PARROT 10.1.2005, 19:05
Я что-то запуталась.
Выводит данные из базы, у меня не правильно, вот код:

<?
mysql_connect("localhost","voting","");
mysql_select_db("voting");
$query_1=mysql_query('select * from vote_tree as t, vote_fields as f
where f.vtid = t.id order by t.id');
while($row = mysql_fetch_array($query_1))
{
echo $row['id']." ".$row['name']." ".$row['closed']." ".$row['id_1']." ".$row['vtid']." ".$row['name_1']." ".$row['votes']."<br \>\n";
}

?>

У меня вопрос, почему id_1 и name_1, вроде в базе такого нет.
И что такое t и f, я понимаю что мы их сравниваем с таблицами из базы, только вот откуда они берутсяи зачем?

Автор: Mal Hack 10.1.2005, 19:13
Цитата(PARROT @ 10.1.2005, 19:05)
И что такое t и f, я понимаю что мы их сравниваем с таблицами из базы, только вот откуда они берутсяи зачем?

поле AS t
t будет синонимом полю.

Автор: PARROT 10.1.2005, 19:38
Цитата(Mal @ 10.1.2005, 19:13)
Цитата(PARROT @ 10.1.2005, 19:05)
И что такое t и f, я понимаю что мы их сравниваем с таблицами из базы, только вот откуда они берутсяи зачем?

поле AS t
t будет синонимом полю.

Это уже дошло, а вот почему скрипт не правильно выводит данные, имя из vote_tree теряется.
И name and name_1, разные поля из разных таблиц, только что в 1, что во второй таблице поля называются именно name, а name_1 не существует.

Автор: Mal Hack 10.1.2005, 19:42
Цитата(PARROT @ 10.1.2005, 19:38)
И name and name_1, разные поля из разных таблиц, только что в 1, что во второй таблице поля называются именно name, а name_1 не существует.

Как я понима MySQL возвращает результат делая _# если такое поле уже было, т.е. по сути автоматом делае синоним.

Автор: PARROT 10.1.2005, 20:02
Цитата(Mal @ 10.1.2005, 19:42)
Цитата(PARROT @ 10.1.2005, 19:38)
И name and name_1, разные поля из разных таблиц, только что в 1, что во второй таблице поля называются именно name, а name_1 не существует.

Как я понима MySQL возвращает результат делая _# если такое поле уже было, т.е. по сути автоматом делае синоним.

Но синоним почему- то не создается. Сопротивляется. smile

Автор: PARROT 10.1.2005, 20:23
Ну вот, незнаю правильно ли я поступила или нет, но мне пришлось заменить имена 2 полей, во второй таблице name->names, id->id_1
Вот теперь все выводится правильно:

<?
mysql_connect("localhost","voting","");
mysql_select_db("voting");
$query_1=mysql_query('select * from vote_tree as t, vote_fields as f
where f.vtid = t.id order by t.id');
while($row = mysql_fetch_array($query_1))
{
echo $row['id']." ".$row['name']." ".$row['closed']." ".$row['id_1']." ".$row['vtid']." ".$row['names']." ".$row['votes']."<br \>\n";
}
?>

До этого испробовала все возможные пути, даже с участием for
Что делать?

Автор: Mal Hack 10.1.2005, 21:13
вывдели в цикле один раз print_r($row) и поставь тэг <pre> в самое начало и посмотри какие индекисы у тебя есть.

Автор: PARROT 11.1.2005, 01:09
Я нарыла функцию, чтобы имена не перезаписывались, а выводились как надо:

$array=array('key1'=>'value1', .........)
extract($array, EXTR_PREFIX_ALL, 'myPrefix');
echo "$myPrefix_key1 $myPrefix_key2 $myPrefix_key3";
Так?
А какой мы будем пользоваться формой для голосования?
с radio, checkbox?

Автор: Mal Hack 11.1.2005, 01:25
Для начала радио.

Автор: Bangladesh 11.1.2005, 01:43
блин че я так торможу smile ... нифига понять не могу...

я прошу вот какой помощи:
1. у мну не запускается эта утилита, она запускается и сразу исчезает. где скачать PhpMyAdmin?

\как создавать таблицы и базы в принципе я понимаю нормально и документация у меня есть по этому поводу\

2. мне нужна дока про то, как брать инфу из mysql сервера, любая. у меня подходящей нет. как вот сами переменные брать, там наверное массивы нужны или че?
Добавлено @ 01:47
Цитата(Mal @ 11.1.2005, 00:25)
Для начала радио.

я их тоже использую. лана поешл пока разрабатывать систему проверки данных... а вы мне че нить по МУСКУЛ посоветуйте, а то я таким себя чайником чувствую...

Автор: PARROT 11.1.2005, 01:55
Цитата(I @ 11.1.2005, 01:43)
блин че я так торможу smile ... нифига понять не могу...

я прошу вот какой помощи:
1. у мну не запускается эта утилита, она запускается и сразу исчезает. где скачать PhpMyAdmin?

\как создавать таблицы и базы в принципе я понимаю нормально и документация у меня есть по этому поводу\

2. мне нужна дока про то, как брать инфу из mysql сервера, любая. у меня подходящей нет. как вот сами переменные брать, там наверное массивы нужны или че?
Добавлено @ 01:47
Цитата(Mal @ 11.1.2005, 00:25)
Для начала радио.

я их тоже использую. лана поешл пока разрабатывать систему проверки данных... а вы мне че нить по МУСКУЛ посоветуйте, а то я таким себя чайником чувствую...

Денвер можно скачать тут:
http://www.denwer.ru/base.html

Автор: Bangladesh 11.1.2005, 02:30
а нафиг этот денвер

Автор: Bangladesh 11.1.2005, 02:43
у мну же есть mySERVER?

Автор: PARROT 11.1.2005, 02:49
Цитата(I @ 11.1.2005, 02:30)
а нафиг этот денвер

Действительно...

Автор: Bangladesh 11.1.2005, 03:30
ну зачем мне девер, если у меня все тоже есть на myservere а таблы я буду с помощью фара делать тогда.

Автор: Bangladesh 11.1.2005, 04:56
Цитата(Mal @ 10.1.2005, 14:09)
А зачем там геморроится?
Поставь phpmyadmin (веб-интерфейс для работы с базой)..

где его скачать?

Автор: IZ@TOP 11.1.2005, 09:30
I, GyoZ, документация на Руском по синтаксису MySQL http://dev.mysql.com/doc/mysql/ru/index.html .
Цитата(PARROT @ 11.1.2005, 02:09)
Я нарыла функцию, чтобы имена не перезаписывались, а выводились как надо:

$array=array('key1'=>'value1', .........)
extract($array, EXTR_PREFIX_ALL, 'myPrefix');
echo "$myPrefix_key1 $myPrefix_key2 $myPrefix_key3";
Так?
А какой мы будем пользоваться формой для голосования?
с radio, checkbox?

Зачем это нужно? Чтобы иметь поля с необходимыми для нас именами, можно использовать алиасы:
Код

select t.id as tid, t.name as tname, f.id as fid, f.name as fname
   from vote_tree as t, vote_fields as f where t.id = f.vtid

Приведенный ниже код делает запрос на выборку информации для голосования.


Соответственно при получении данных с помощью mysql_fetch_array($r, MYSQ_ASSOC), будет получен массив вида:
Код

Dumping $Row:
Array(
   tid => 1
   tname => Вы курите?
   fid => 1
   fname => Да
)


Автор: IZ@TOP 11.1.2005, 10:33
Цитата(I @ 11.1.2005, 05:56)
Цитата(Mal @ 10.1.2005, 14:09)
А зачем там геморроится?
Поставь phpmyadmin (веб-интерфейс для работы с базой)..

где его скачать?

http://www.phpmyadmin.net/home_page/

Автор: PARROT 11.1.2005, 18:58
Цитата(IZ @ 11.1.2005, 09:30)
I, GyoZ, документация на Руском по синтаксису MySQL http://dev.mysql.com/doc/mysql/ru/index.html .
Цитата(PARROT @ 11.1.2005, 02:09)
Я нарыла функцию, чтобы имена не перезаписывались, а выводились как надо:

$array=array('key1'=>'value1', .........)
extract($array, EXTR_PREFIX_ALL, 'myPrefix');
echo "$myPrefix_key1 $myPrefix_key2 $myPrefix_key3";
Так?
А какой мы будем пользоваться формой для голосования?
с radio, checkbox?

Зачем это нужно? Чтобы иметь поля с необходимыми для нас именами, можно использовать алиасы:
Код

select t.id as tid, t.name as tname, f.id as fid, f.name as fname
   from vote_tree as t, vote_fields as f where t.id = f.vtid

Приведенный ниже код делает запрос на выборку информации для голосования.


Соответственно при получении данных с помощью mysql_fetch_array($r, MYSQ_ASSOC), будет получен массив вида:
Код

Dumping $Row:
Array(
   tid => 1
   tname => Вы курите?
   fid => 1
   fname => Да
)

да... Мы не ищем легких путей!
А все таки, не проще ли будет, чтобы для начала, не очень загружать без того и так, пока, плохо соображающие мозги (еле соображающие), к использованию разных имен базы, не совпадающих между собой, а потом, чуть позже, можно попробовать усложнить?

Я все таки попробую, ради интереса, все новое, всегда интересно, а что касаемо php, то новизна тут не иссякнет никогда.
Учиться, учиться и учиться...

Автор: Bangladesh 12.1.2005, 01:14
так. инфо по МуСКУЛу я нашел. ПХПМуАДМИН уже вовсю юзаю. вот какая фигня.

вот код для того, чтобы выводить сколько уже проголосовало:

Код

mysql_connect ("localhost") OR DIE ("Не могу соединиться с MySQL сервером ");
        mysql_select_db ("base") OR DIE (mysql_error());
         $query = "SELECT * FROM opros WHERE choise = 'myname'";
          $res = mysql_query($query) OR DIE (mysql_error());
           $number = mysql_num_rows($res);

       if ($number == 0) {
        echo "никого";
       }
       else {
        echo "$number";
       }


и вот такую фигню он мне говорит:

Unknown column 'choise' in 'where clause'

как быть?

Автор: Mal Hack 12.1.2005, 01:33
Цитата(I)
Unknown column 'choise' in 'where clause'

как быть?

Искать где наврал с именем столбца...

Автор: Bangladesh 12.1.2005, 03:16
с именем столбца я не наврал в таблице NAMES и я написал NAMES.

кстати подскажите какой тип у табилц...

...для хранения имени?
...для хранения профессии?
...для хранения ипа?
...для хранения варианта ответа (от 1 до 5)?

а то я везде Text поставил, незнаю че надо...

Автор: IZ@TOP 12.1.2005, 10:35
Цитата(I)
кстати подскажите какой тип у табилц...

...для хранения имени?
...для хранения профессии?
...для хранения ипа?
...для хранения варианта ответа (от 1 до 5)?

а то я везде Text поставил, незнаю че надо...

Для хранения имени подойдет поле типа varchar(100).
Профессия того же типа.
Для IP годится varchar(15).
Для хранения варианта отвта int(1).

Автор: Gold Dragon 12.1.2005, 11:00
Цитата(IZ @ 12.1.2005, 10:35)
Для хранения варианта отвта int(1).
то есть вопросов не больше 10?

Автор: IZ@TOP 12.1.2005, 11:45
Упс... чего-то я напутал. Для хранения варианта ответа тоже поле varchar(100).


Red Dragon, смотри на предыдущей станичке структура базы есть.

И как альтернатива:
Код

CREATE TABLE `votes` (
 `id` int(11) unsigned NOT NULL auto_increment,
 `title` varchar(100) NOT NULL default '',
 `choice` text NOT NULL,
 `votes` varchar(255) NOT NULL default '',
 `closed` enum('0','1') NOT NULL default '0',
 PRIMARY KEY  (`id`)
) TYPE=MyISAM;


Это на подобии структуры таблица голосования как в IPB.
В choice содержаться пункты голосования, один пункт - одна строка.
В votes через запятую хранится подсчет голосований.

Автор: Mal Hack 12.1.2005, 14:17
Цитата(I)
кстати подскажите какой тип у табилц...

Тока у столбцов.. Тип таблиц это совсем другое.

Цитата(IZ @ 12.1.2005, 10:35)
Для хранения варианта отвта int(1).

BOOL, чтоб не путаться с 1 smile

Автор: IZ@TOP 12.1.2005, 14:34
Цитата(Mal @ 12.1.2005, 15:17)
BOOL, чтоб не путаться с

А... точно smile Дуркую чет я седня. Наверное потому что курить бросаю... лан, это не в тему.

Автор: Bangladesh 13.1.2005, 01:47
все правильно, именно тип столбцов

Автор: Gold Dragon 15.1.2005, 15:43
Вот моё Первое творение на РНР+MySQL(!)

файлы:
baza1[1].sql - дамп таблиц
conf.php - файл конфигурации
form_admin.php - панель администрирования
form_golos.php - голосование

теперь о скрипте...
- так как я ещё ни разу не делал подобное, то нагородил кучу всего, то есть скрипт не опримизирован
- не сделал редактирование. В принципе это легко, но надо всё же оптимизировать

скрипт
- не делал защиту адмпанели, так как ещё плохо в этом разбираюсь
- участники отсеиваются по IP. Если локалка, то накрутка не блокируется.
- на участие в конкурсе даже и не расчитываю smile

что хотелось бы услышать...
- как такие скрипты оптимизируются (логика и практика)
- как лучше сделать защиту
- и очень серьёзную критику, ошибки и всё в этом роде

Очень интересует мнение крутых спецов

Автор: IZ@TOP 15.1.2005, 16:09
Red Dragon, сейчас будем разбираться. Пока кому интересно, можете посмотреть его работу тут: http://reddragon.poima.net.ru/
Параметры для доступа к ФТП твоего сайта я тебе скинул на асю.


Добавлено @ 16:10
Что сразу бросается в глаза - не работает в админке ни чего вообще.

Автор: IZ@TOP 15.1.2005, 16:23
И так, у нас есть три участника
Red Dragon - http://reddragon.poima.net.ru
GyoZ - http://gyoz.poima.net.ru
PARROT - http://parrot.poima.net.ru

Для каждого из них создан аккаунт на сервере в интернете, где они могут протестировать в полевых условиях свои работы.

Автор: Gold Dragon 15.1.2005, 19:07
Вот последняя версия... По ссылке она доступна.

Автор: PARROT 16.1.2005, 00:55
Цитата(Red @ 15.1.2005, 19:07)
Вот последняя версия... По ссылке она доступна.

Даже если что-то не работает, все равно здорово! Молодец!

Автор: IZ@TOP 16.1.2005, 01:55
PARROT, теперь все работает smile http://reddragon.poima.net.ru

Автор: Bangladesh 25.1.2005, 04:11
люди, я хотел бы выложить свое голосование, как мне таблицы создать на вашем серваке ?

Автор: IZ@TOP 25.1.2005, 09:36
I, GyoZ, создаешь файл install.php, в нем прописываешь массив с командами создания таблиц:

Код
<?php

$sql[] = "create table if not exists ...";

// Потом в цикле выполняешь

// Тут идет подключение к базе

while($query = array_shift($sql)) mysql_query($query);

?>


И далее, соотвтственно, запускаешь его через браузер.

Автор: Bangladesh 26.1.2005, 01:20
ок. спасибо за инфу. на днях попробую разобраться.

Автор: IZ@TOP 26.1.2005, 09:59
I, GyoZ, только быстрей smile А то у меня видимо сервер не будет работать с 1 го по 15 е фев.

Автор: Bangladesh 2.2.2005, 01:09
опрос практически додела. правда вот счас сижу ночью, занимаюсь сразу 4мя делами поэтому не всилах подумать что-тута делать. дело обстоит так:

я делаю полоски, которые обозначают за что больше голосуют. там все в процентах идет. так вот. это код определяет процент видимой полски и остальной части, для заполнения...

Код

$p_five_p = $five * 100 / $summa;
           $p_five_p = intval($p_five_p);
        $p_five = 100 - $p_five_p;


а это хтмл, котрый определяет полоску:


Код

<table>
       <tr>
       <td width="150" height="10" bgcolor="#666666" style="border: 1px #222222 solid">
       <div align="left"><table>
        <tr>
         <td width=<? echo "$p_five"; ?>% height="7" bgcolor="#F14301"></td>
         <td width=<? echo "$p_five_p"; ?>% height="7" > </td>
         </tr>
         </table>


незнаю, чего то я глючу и не могу сделать нифига. если счас поможете, завтра будет красивый опрос smile

Автор: IZ@TOP 2.2.2005, 10:39
Код

<table>
      <tr>
      <td width="150" height="10" bgcolor="#666666" style="border: 1px #222222 solid">
      <div align="left"><table>
       <tr>
        <td><div style="width:<? echo $p_five; ?>%;height:7;background-color:#F14301"><? echo $p_five; ?>%</div></td>
        <td><div style="width:<? echo "$p_five_p"; ?>%; height:7" ><? echo "$p_five_p"; ?>%</div></td>
        </tr>
</table>
Попробуй так.

Автор: Opik 2.2.2005, 16:46
Код
<? echo "$p_five_p"; ?>

а так не дано?
Код
<?=$p_five_p?>

Автор: Bangladesh 3.2.2005, 01:10
спасибо, я с этим разобрался, как только ответил smile но лана. вообще скрипт я написал. теперь осталось спросить, как создать таблицу на этом ftp. я догадываюсь, что надо сделать так:



Код

$query = "здесь SQL-запрос, генерируемый phpMyAdmin";

mysql_query($query) OR DIE (mysql_error());


я правильно думаю?


Автор: IZ@TOP 3.2.2005, 12:55
I, GyoZ, боюсь что пока тот сервак до середины февраля в инете не появится smile Выкладывай тут свою работу, я ее размещу на другом сервере и дам ссылку.

Автор: Bangladesh 4.2.2005, 01:16
а как прикрепить файл???

Автор: sergejzr 4.2.2005, 01:19
I, GyoZЕсть работы масса. На благо форума. Надо поиск удобный сделать на ПХП smile Если решишь, стучи в ПМ smile

Автор: Bangladesh 5.2.2005, 01:21
поиск? могу взятся smile все же форум мне много помогал... но позже...

короче алгоритм я такой представляю:

1. ввод переменной поиска
2. сравнивание переменной поиска с переменными из таблиц для тем... smile

Автор: ALEX-26rus 21.2.2005, 23:45
Прикольная тема !!!! Я тоже хочу участвовать... Опыт в PHP 1 мес. по учебнику ... Простой форум или гостевую коряво нацарапаю...???!! ..может быть ... с MYSQL не работал...

Автор: IZ@TOP 22.2.2005, 00:05
ALEX-26rus, нацарапай пока голосование. См. правила на первой странице. Рзумеется с использованием MySQL.

Автор: ALEX-26rus 22.2.2005, 00:12
Я даже не знаю как работает MYSQL где ее взять и что это за зверь!!!

Автор: IZ@TOP 22.2.2005, 00:14
ALEX-26rus, вот и научишься как раз с ним дружить. Читай топ, думаю смысл поймешь. Если что не стесняйся задавать вопросы.

Автор: ALEX-26rus 22.2.2005, 00:19
Хорошо, тогда по порядку. У меня стоит PHP Expert edition v4.32 с PHP машиной на компе... Чего нужно для MYSQL??? Где-то на форуме видел ее схему, мне это ни о чем не сказало...
Да кстати и что такое топ???

Автор: Bangladesh 22.2.2005, 09:46
а хост заработал???

Автор: IZ@TOP 22.2.2005, 10:16
I, GyoZ, в марте.


ALEX-26rus, топ, он же пост, т.е. тема. Например в который мы в данный момент переписываемся.

Автор: IZ@TOP 22.2.2005, 16:42
Цитата(IZ @ 22.2.2005, 11:16)
топ, он же пост,

Поправляюсь на счет "поста" - пост это сообщение отдельного пользователя.

PS Спасибо за поправку Mal Hack'у smile

Автор: ALEX-26rus 23.2.2005, 15:15
Выписал книгу по MySql . С ней наверное получше будет... А все таки, нужно ли ставить какую-нибудь программу для работы с БД ???

Автор: IZ@TOP 23.2.2005, 20:07
ALEX-26rus, конечно - mysql front: администратор БД MySQL для создания таблиц/баз данных и прочего. Или же самый популярный на сегодняшний момент скрипт для работы с MySQL phpMyAdmin.

Автор: o.s.a. 27.2.2005, 12:58
Люди и я тоже решил поучаствовать
Знания примерно такие же как и у ALEX-26rus
попробую для начала написать голосовалку...

Автор: o.s.a. 28.2.2005, 18:39
Цитата
Код


Код  
create table vote_tree (
  id int(11) not null auto_increment,
  name varchar(100) not null,
  closed enum('1','0') not null default '0',
  primary key(id)
);

create table vote_fields (
  id int(11) not null auto_increment,
  vtid int(11) not null,
  name varchar(100) not null,
  votes int(11) not null default '0',
  primary key(id)
);




Я не могу понять зачем нужно и что делает поле
Код

vtid int(11) not null,




Автор: IZ@TOP 28.2.2005, 23:17
o.s.a., по полю vtid мы привязываем таблицу с вариантами ответов к таблице с заголовком голосования.

Лучше конечно использовать другой вариант где варианты ответов содержаться в текстовом поле разделенными переводом строки (нажатие enter'a), количество голосовавших в поле типа varchar разделенные запятой или еще чем. Там же соответственно содержится и заголовок:

Код

-- --------------------------------------------------------

--
-- Структура таблицы `votes`
--

CREATE TABLE `votes` (
 `id` int(11) unsigned NOT NULL auto_increment,
 `title` varchar(100) NOT NULL default '',
 `choice` text NOT NULL,
 `votes` varchar(255) NOT NULL default '',
 `closed` enum('0','1') NOT NULL default '0',
 PRIMARY KEY  (`id`)
);

--
-- Дамп данных таблицы `votes`
--

INSERT INTO `votes` VALUES (2, 'Какой праздник, по Вашему мнению, самый карнавальный?', 'Новый год\r\nХэллоуин\r\nДень рождения\r\nМасленица\r\nСвадьба\r\n', '38,23,5,4,5', '0');
       

Автор: o.s.a. 1.3.2005, 15:13
Да, я как раз так и решил делать, но только поле votes и choice я изменю:
это будут массивы, в которые будут производиться записи и т.д.
а затем эти массивы можно сделать строкой с помощью serialize() smile

Автор: IZ@TOP 1.3.2005, 15:42
o.s.a., ну кому как нравится.

Автор: o.s.a. 1.3.2005, 17:09
слушай IZ@TOP у меня что-то совсем мозга за мозгу заехала
скажи почему, при исполнении этого кода
Код

<?php
mysql_connect("osa");
mysql_select_db("test");
CREATE TABLE vote (`id` int(11) unsigned NOT NULL auto_increment,
   `title` varchar(100) NOT NULL default '',
`choice` text NOT NULL,
`votes` text NOT NULL default '',
`closed` enum('0','1') NOT NULL default '0',
PRIMARY KEY  (`id`)
);

?>


пишется: Parse error: syntax error, unexpected T_STRING in e:\server\home\osa\www\voting\add.php on line 4
т.е. не правильно создаю таблицу?!

Автор: Joes 1.3.2005, 18:00
Цитата(o @ 1.3.2005, 19:09)
слушай IZ@TOP у меня что-то совсем мозга за мозгу заехала
скажи почему, при исполнении этого кода
Код

<?php
mysql_connect("osa");
mysql_select_db("test");
CREATE TABLE vote (`id` int(11) unsigned NOT NULL auto_increment,
   `title` varchar(100) NOT NULL default '',
`choice` text NOT NULL,
`votes` text NOT NULL default '',
`closed` enum('0','1') NOT NULL default '0',
PRIMARY KEY  (`id`)
);

?>


пишется: Parse error: syntax error, unexpected T_STRING in e:\server\home\osa\www\voting\add.php on line 4
т.е. не правильно создаю таблицу?!

я б вообще не так сделал... я б переменным присвоил всё и проблем бы не было:
Код

<?php
$con = mysql_connect("joe", "localhost", "");
$sel = mysql_select_db("test");
$query =  "CREATE TABLE VOTE (
PRIMARY KEY  (`id`),
`id` int(11) unsigned NOT NULL auto_increment,
   `title` varchar(100) NOT NULL default '',
   `choice` text NOT NULL,
   `votes` text NOT NULL default '',
   `closed` enum('0','1') NOT NULL default '0'
   
)";

?>


не тестил, но, ИМХО, работать должно на 100%...

Автор: o.s.a. 1.3.2005, 18:28
Joe ты какой-то странный: когда я тебя в универе спрашиваю - ты ничего не знаешь,
а на форуме у тебя есть ответы на все вопросы.

Твоя идея присвоить значения переменным сработала smile

Автор: Joes 1.3.2005, 19:42
smile
В универе мне лень думать, в универе я отдыхаю smile А тут за компом и идей много и помочь охота smile

Автор: IZ@TOP 1.3.2005, 23:05
Цитата(Joes @ 1.3.2005, 19:00)
слушай IZ@TOP у меня что-то совсем мозга за мозгу заехала
скажи почему, при исполнении этого кода

Потому что РНР будет интерпретировать SQL запрос как РНР код, что соответственно вызовет ошибку. Для того чтобы выполнить SQL запрос, необходимо пользоваться функцией mysql_query которой в качестве аргумента (строкой) будут переданы команды MySQL'я:

Код
<?php

mysql_connect("osa");
mysql_select_db("test");

mysql_query("CREATE TABLE vote (`id` int(11) unsigned NOT NULL auto_increment,
  `title` varchar(100) NOT NULL default '',
`choice` text NOT NULL,
`votes` text NOT NULL default '',
`closed` enum('0','1') NOT NULL default '0',
PRIMARY KEY  (`id`)
);") or die("Ошибка: ".mysql_error());

?>

Автор: o.s.a. 3.3.2005, 19:44
У меня много идей по разработке голосования, которые я постепенно претворяю
в жизнь, но у меня одна просьба: как-то вы говорили, что за лучший скрипт какое-то
поощрение, так вот не подводите итоги без меня.

и еще один вопрос: нужно ли проверять голосует человек первый раз или уже десятый?
и если нужно, то как?

Автор: IZ@TOP 3.3.2005, 19:51
o.s.a., не будем подводить итогов без тебя. Нам еще должна Наталия (PARROT) голосование свое показать, без нее не итогов подводить не будем.
2 Можно и нужно. Делается это, при помощи записи пользователю cookie с идентификатором голосования, с последующей проверкой, второй вариант, это создать таблицу с двумя полями - ip адресом и идентификатором сообщения (оба поля primary key). Но первый вариант более предпочтителен так как многие пользователи заходят с разных Ip. Есть правда еще третий вариант - сделать регистрацию, но это уже зависит от посещаемости сайта и количества пользователей.

Автор: Joes 3.3.2005, 20:22
Цитата
У меня много идей по разработке голосования, которые я постепенно претворяю
в жизнь, но у меня одна просьба: как-то вы говорили, что за лучший скрипт какое-то
поощрение, так вот не подводите итоги без меня.

оооооо, поощрение...
Тогда и меня погодите... Дайте прау деньков разобраться с кукисами, алгоритм составить, а то я голосованием еще не занимался и пока еще точной идею по созданию нет... Да и от поощрения не откажусь smile

Автор: PARROT 3.3.2005, 22:00
Цитата(IZ @ 3.3.2005, 19:51)
o.s.a., не будем подводить итогов без тебя. Нам еще должна Татьяна (PARROT) голосование свое показать, без нее не итогов подводить не будем.
2 Можно и нужно. Делается это, при помощи записи пользователю cookie с идентификатором голосования, с последующей проверкой, второй вариант, это создать таблицу с двумя полями - ip адресом и идентификатором сообщения (оба поля primary key). Но первый вариант более предпочтителен так как многие пользователи заходят с разных Ip. Есть правда еще третий вариант - сделать регистрацию, но это уже зависит от посещаемости сайта и количества пользователей.

Я не Татьяна! - Меня зовут Наталия.
Подводите итоги без меня.
На мне форум висит, недоделанный.
Я чуть попозже займусь голосованием.
Поощрение, это здорово! Но знания дороже. Не могу делать сразу 2 дела, не закончив первое.
smile

Автор: IZ@TOP 4.3.2005, 07:31
PARROT, дико извиняюсь Наталия, что-то я ошибся smile

Автор: Joes 6.3.2005, 08:50
А код куда, сюда выкладывать??? Или всем как спам разослать smile smile smile

Автор: IZ@TOP 6.3.2005, 22:22
Joes, для проверки работоспособности и проверки работоспособности, скрипты голосования будете выкладывать на сервер. Данные для доступа дам отдельно.

Автор: -V- 24.3.2005, 18:06
Есть предложение (правда я запоздал немного с голосовалкой)...

Задание про "графика в ПХП".. (сам недавно наткнулся smile ) полезно очень..

(не судите строго кому интересно разберёться напишет)

Рекомендуемые ресурсы (PHP)

И так, внимание, задача:

Построение 3д Объекта.

Берём за основу куб(с ним легче или сферу .. у кого как сложилось smile) ), и выводим его в обычном виде ну т.е. по ОХ-ОУ (збоку)

Теперь в формочку под окном вводим угол обзора картинки-куба

нажимаем "ок" и видим куб под нужным углом!


Если интересно пробуйте! smile)

Автор: Bangladesh 1.4.2005, 09:24
IZ@TOP, а моё это место еще работает под голосование? если да то скажите мне наконец как мне таблицы и базы создавать из php?

Автор: Mal Hack 1.4.2005, 12:00
Цитата(I)
если да то скажите мне наконец как мне таблицы и базы создавать из php?

Надо выполнить запрос CREATE TABLE или CREATE DATABASE (первый с параметрами) из mysql_query();

Автор: Bangladesh 5.4.2005, 09:19
smile выходит получается примерно так:

Код

mysql_connect($server, $login, $password) OR DIE(mysql_error());
 mysql_select_db($dbName) OR DIE(mysql_error());
  $query = CREATE TABLE `table` (
`one` VARCHAR( 100 ) NOT NULL ,
`two` VARCHAR( 155 ) NOT NULL ,
`three` VARCHAR( 555 ) NOT NULL 
);

 mysql_query($query) OR DIE(mysql_error());
mysql_close();


к примеру так. я прав?

Автор: Vidocq 22.4.2005, 17:13
Вот пару заданий тестовых smile Если выполнишь, претендуй на вакансию пхп-девелопера ;)

Автор: o.s.a. 24.4.2005, 06:36
Цитата
Вот пару заданий тестовых smile Если выполнишь, претендуй на вакансию пхп-девелопера ;)

где???

Автор: Простодушный user 23.5.2005, 23:36
А мне можно тоже пристать к вашей тусовке. Я тож тока начал с php общаться. Хотелось бы чёньть полезное и интересное написать, например голосование с использованием mysql, Но боюсь что мне потребуется помощь. Ну дк что мона влиться в струю? smile smile smile

Автор: Opik 23.5.2005, 23:45
простогдушный user
голосование говоришь? в чем проблема?
http://www.zend.com/php/beginners/php101-14.php там всё подробно описано.

Автор: o.s.a. 24.5.2005, 19:10
да, ссылочка хорошая, но жаль на англ. smile
у меня вот такой вопрос: у меня есть недоконченная версия моего голосования куда ее выложить
чтобы вы указали на ошибки???

Автор: Простодушный user 25.5.2005, 20:32
Opr
Проблнмм пока нет, но скоро наверняка возникнут и мне понадовится помощь.
Надеюсь вы все меня не бросите в беде?
smile smile

Автор: o.s.a. 29.5.2005, 14:39
Ребята вы уж меня извините за нетерпение, но все таки куда мне выложить голосование smile

Автор: Toto 29.5.2005, 16:37
o.s.a.
Хотябы тут -> http://rapidshare.de, ссылочку до файла сюда smile

Автор: o.s.a. 29.5.2005, 17:31
2Toto
Что-то меня совсем не впечатляет этот хост: у меня 9 файлов + база MySQL
А там просто осуществляется загрузка и скачка файлов (и по моему без поддердки MySQL)
smile smile smile

2IZ@TOP
А вообще IZ@TOP говорил, что предоставит место для проверки работоспособности данного творения smile

Автор: Joes 29.5.2005, 20:00
и что для твоих 9 файлов вот этого мало????
Цитата
Upload-limit: Unlimited! (30 MB per file. Split-archives allowed!)

Автор: Toto 30.5.2005, 05:33
o.s.a.
Бекапь БД и вместе с файлами в архив (RAR/ZIP)

Автор: o.s.a. 30.5.2005, 16:32
Toto
Мне нужно место не для всеобщего скачивания, а для проверки работоспособности smile

Автор: IZ@TOP 31.5.2005, 13:30
o.s.a., для проверки работоспособности? А разве ты на своем хосте не проверяешь? Давай мне архив, у себя на комп поставлю и посмотрю работает или нет.

Автор: o.s.a. 31.5.2005, 19:07
IZ@TOP, нет я конечно у себя проверяю, просто хотелось выставать на всеобщее обозрение. Мне осталось решить проблему с неоднократным голосованием одного человека и все.

Автор: IZ@TOP 1.6.2005, 15:05
o.s.a., когда доделаешь, пиши на ПМ, я найду место куда выложить.

Автор: Guest 5.6.2005, 13:53
Я слышал, что для того, чтобы создать все свои таблицы у хостера, нужно написать что-то вроде install.php файла, где и создать все, что нужно.
Код

mysql_connect("","","");
mysql_select_db("");

Вопрос №1: что прописать в параметрах соединения и какаю выбрать базу?
Вопрос №2: этот код нужно выполнять в каждом скрипте или один раз соединился с MySQl, выбрал базу и все?

Автор: o.s.a. 5.6.2005, 13:56
предыдуший топик мой (случайно забыл войти smile )

Автор: IZ@TOP 6.6.2005, 21:16
Цитата(Guest @ 5.6.2005, 14:53)
Вопрос №1: что прописать в параметрах соединения и какаю выбрать базу?

1. Прописать те настройки которые тебе предоставил хостер.
2. Для подключения к бд нужно каждый раз соединяться с MySQL и каждый раз выбирать необходимую базу данных.

Автор: IZ@TOP 7.6.2005, 10:25
Как и обещал, разместил голосовение на своем сервере http://v1.test.carnevale.ru/.
В общем оцениваю данное произведение как "не плохо для начинающего". Все делаешь правильно, но в будущем старайся все же не допускать не проверенных данных переданных от пользователя в SQL запрос (файл page.php).

Автор: Gold Dragon 7.6.2005, 10:54
Только зачем нужна регистрация, если я могу несколько раз проголосовать smile

Автор: Joes 7.6.2005, 13:00
угу... да и кнопка админки зачем нужна, если я не могу в нее зайти, цитирую: "У вас нет прав доступа к данному рУсурсу" Вот что значит, цитирую "сессии - г*%$о"

Автор: o.s.a. 7.6.2005, 17:21
Цитата
Только зачем нужна регистрация, если я могу несколько раз проголосовать

Млин, забыл про это (ну это просто исправить)



Joes - а ты попробуй под ником osa и паролем osa зайти smile

Цитата
Все делаешь правильно, но в будущем старайся все же не допускать не проверенных данных переданных от пользователя в SQL запрос (файл page.php).

попробую исправить

Автор: Joes 7.6.2005, 18:53
Цитата
Joes - а ты попробуй под ником osa и паролем osa зайти

а вот это уже извините, 1 - telepatov.net, 2 - это что ж чтобы создать голосование юзверь должен связываться с создателем =)

Автор: o.s.a. 7.6.2005, 19:03
Joes, я почему-то решил, что только админ модет создавать, редактировать и удалять голования smile

Не знаю теперь как проверять голосовал ли юзер и где это хранить

Автор: Irokez 7.6.2005, 19:08
Цитата(o @ 7.6.2005, 19:03)
Не знаю теперь как проверять голосовал ли юзер и где это хранить

куках

Автор: o.s.a. 7.6.2005, 19:29
Irokez
НО может поизойти такое:
если я создам отдельный кук с отметками про сделанные голосования,
то в случае если юзер зашел не со своего компа, а с жучого, то он опять сможет голосовать,
т.к. на др. компе куков-то уже не будет

Попробую.

Автор: Joes 7.6.2005, 19:44
Цитата
если я создам отдельный кук с отметками про сделанные голосования,
то в случае если юзер зашел не со своего компа, а с жучого, то он опять сможет голосовать,
т.к. на др. компе куков-то уже не будет

ну этого не избежать... ты что собрался голосование продать Президентской Комиссии??? для этих целей существуют будки для голосования smile Да и какой бол*ан будет ходить по клубам и голосовать, чтобы оценить твой сайт или прогу smile так что не парься smile

Автор: Irokez 7.6.2005, 19:51
Цитата(o @ 7.6.2005, 19:29)
Irokez
НО может поизойти такое:
если я создам отдельный кук с отметками про сделанные голосования,
то в случае если юзер зашел не со своего компа, а с жучого, то он опять сможет голосовать,
т.к. на др. компе куков-то уже не будет

а по-другому никак, разве что сделать голосования только для зарегистрированных пользователей

Автор: IZ@TOP 8.6.2005, 11:27
Цитата(Irokez @ 7.6.2005, 20:51)
если я создам отдельный кук с отметками про сделанные голосования,
то в случае если юзер зашел не со своего компа, а с жучого, то он опять сможет голосовать,

В таком случае я просто буду эту куку удалять и голосовать снова, снова, снова и снова smile

Автор: o.s.a. 8.6.2005, 16:16
Цитата
ты что собрался голосование продать Президентской Комиссии???
ДА smile
Цитата
а по-другому никак, разве что сделать голосования только для зарегистрированных пользователей
вообще-то такая и бала задумка, а зачем тогда еще нужна регистрация???
Цитата
В таком случае я просто буду эту куку удалять и голосовать снова, снова, снова и снова
так как быть???

Автор: IZ@TOP 9.6.2005, 23:58
Цитата(o @ 8.6.2005, 17:16)
так как быть???

Позволять голосовать только зарегенным юзерам + система защиты от авторегистрации и автоголосвания ( генерить картинки с кодом по типу http://www.carnevale.ru/images.php ).

Автор: o.s.a. 11.6.2005, 15:00
IZ@TOP, как на счет того, чтобы обновить? smile

Автор: o.s.a. 22.6.2005, 18:46
Что-нибудь еше писать будем??????

Автор: Disconnect 10.7.2005, 13:49
Народ помогите разобраться в !sendmail не могу врубиться чего не работает. Короче сделал страницу на домашнем сервере (Apach) и сообщения не хотят доходить до адресата

<?
@extract($_SERVER, EXTR_SKIP); @extract($_POST, EXTR_SKIP); @extract($_GET, EXTR_SKIP);
if(!@$to) $to="[email protected]";
if(!@$subject) $subject="Congratulations!";
if(!@$body) $body="Здраствуйте\сегодня ".date("Y-m-d").".\есле вы хотите \n\отправить нам чтиво,\то напишите в поле ввода \желаемое, и нажмите OK.";
?>

<h2>Послать тестовое письмо:</h2>
<form action="<?=$_SERVER["SCRIPT_NAME"]?>" method=POST>
<table width=70% cellpadding=5 cellspacing=2>
<tr valign=top>
<td>To:</td>
<td><input type=text name=to value="<?=@HtmlSpecialChars($to)?>"></td>
</tr>
<tr valign=top>
<td>Subject:</td>
<td><input type=text name=subject value="<?=@HtmlSpecialChars($subject)?>"></td>
</tr>
<tr valign=top>
<td>Текст:</td>
<td><textarea name=body cols=50 rows=4><?=@HtmlSpecialChars($body)?></textarea></td>
</tr>
<tr valign=top>
<td colspan=2>
<input type=submit name=doSend value="Послать письмо">
<input type=submit name=doDel value="Очистить отладочную директорию">
</td>
</tr>
</table>
</form>

<?
$dir = "/tmp/!sendmail";

if (@$doDel) {
if ($d = @opendir($dir)) {
while (false !== ($e = readdir($d))) {
if ($e[0] == ".") continue;
unlink("$dir/$e");
}
}
echo "<h3>Письма удалены.</h3>";
}

if(@$doSend) {
echo "<h2>Посылаем письмо...</h2>\n";
if(mail($to,$subject,$body,"From: \"PHP mail()\" <[email protected]>")) {
echo "OK, функция mail() сработала корректно.<br>\n";
} else {
echo "При вызове mail() произошла ошибка.<br>\n";
}
}

$d = @opendir($dir);
if ($d) {
echo "<h2>Отосланные письма в директории <tt>$dir</tt></h2>\n";
$list = array();
while (false !== ($e = readdir($d))) {
if ($e[0] == ".") continue;
$list[] = "$dir/$e";
}
rsort($list);

if ($list) {
foreach ($list as $fname) {
$f = @fopen($fname, "r"); if (!$f) continue;
echo "<h3>Файл <tt>$fname</tt>:</h3>\n";
echo "<pre>\n";
echo HtmlSpecialChars(fread($f,filesize($fname)));
echo "</pre>\n";
echo "<hr>";
}
} else {
echo "Директория пуста.";
}
}
?>

Может не верный путь указал. Помогите плиззззззззsmile

Автор: o.s.a. 10.7.2005, 20:12
Disconnect ты ошибся темой - создай новый топик, там тебе помогут.
Не забывай пользоваться кнопкой КОД smile
И зачем ты везде понатыкал @

Автор: Disconnect 11.7.2005, 19:41
O.S.A- спосибо конечно. Но по этому поваду есть один вопрос- у меня не выходит создать новый топик в этом раздели(говорят я здесь не имею право ни чего создовать)smile

Автор: o.s.a. 12.7.2005, 07:00
Правильно - этот форум называется "PHP: Уроки",
а тебе нужно в "PHP для начинающих"

Автор: Disconnect 13.7.2005, 12:10
Спосибо вам O.S.A!!!!!!!!!!!!!!!!!!!!!!!!

Автор: Гость_сергей 20.7.2005, 21:19
я однажды посматрел html код странички и все эти закарючки меня очень сильно увлекли , пришлось искать книги где обяснялось , что это такое и чем больше я вникал тем больше мне эти закарючки нравились...
в итоге я выучил эту науку , но мне этого мало , теперь я с такимже непонимающим взглядом смотрю на php-код и очень сильно хочу его освоить, пожалуйсто скинте линки на соответствующую литературу т.е.
php-для чайников или что-то в этом духе или ели есть укавонить подобные книги (желательно на русском языке ) скинте мне на мыло -
буду очень признателен вам .
[email protected]

Автор: PARROT 20.7.2005, 21:47
Гость_сергей, зайди сюда http://forum.vingrad.ru/index.php?showtopic=34297

Автор: insider 30.7.2005, 02:50
Люди-программеры! Помогите, пожалуйста с адресной строкой!
Как сделать, чтобы нажимая на ссылку переключения языка страницы с русского на английский отображался не реальный путь до англоязычного файла (например, http://www.[host].uz/English/default.php), а что-то в этом роде: http://www.[host].uz/index.php?lng=en
Заранее премного благодарен!!!
smile

Автор: o.s.a. 30.7.2005, 05:35
При наведении (нажатии) на ссылку путь отображается в строке статуса. Если ты хочешь изменить именно то, что там отображается, то тебе в JavaScript.

А если же ты хочешь поменять что-либо в адресной строке, то это невозможно.


Чтобы было http://www.host.uz/index.php?lng=en или http://www.host.uz/index.php?lng=ru
тогда тебе нужно в той ссылке писать так:
Код

<a href="http://www.host.uz/index.php?lng=ru"> ru </a>
<a href="http://www.host.uz/index.php?lng=en"> en </a>


А в index.php проверять чему равна переменная lng, и в зависимости от ее значения вставлять (include) русскую или англ страничку.

Автор: Slayer2005 2.9.2005, 16:01
Голосовалка обычно закрывается через cookie, чтобы второй раз с одного компа не голосили, хотя пронырливый пользователь всё равно cookie очистит

Автор: TIGERоX 8.9.2005, 08:34
Начитался я вашего форума и тоже решил присоединиться ;)
Тоже начал писать голосовалку
Возник вопрос как можно определить перенос строки в textarea?
хочу сделать как в ibp
smile[s]

Автор: PARROT 8.9.2005, 09:39
Код

$text=ereg_replace("\n", "<br>", $text); 

Автор: TIGERоX 8.9.2005, 13:38
Спасибо я оказывается одинарные кавычки поставил! smile

Автор: 2man 8.9.2005, 13:58
А какая разница какие кавычки поставил?
" и ' значение несут одно и то же smile

Автор: TIGERоX 8.9.2005, 15:26
нет просто пхп '\n' будет понимать как два символа а "\n" как перенос строки
по крайней мере так в ф-ии explode.

Автор: TIGERоX 8.9.2005, 16:44
Опять вопрос smile
есть форма на ней например textarea и кнопка "submit" обрабатываем форму(используем POST)!
и все хорошо только при обновлении страницы опять врубается обработка как
будто я опять нажал на кнопку "submit" со старыми POST данными как это устранить ?? smile

Автор: PARROT 8.9.2005, 17:06
TIGERоX, нарисовать форму на отдельной странице, например post.php, после обработки header переводить пользователя на страницу вывода или еще куда.
Или сравнивать, если текст ==тексту {то вы уже добавляли это сообщение}, хранить в куках на какое-то время, например на 10 минут.

Автор: dbcoder 12.9.2005, 23:06
У меня вопрос: где взять электронную книгу по PHP?

Подкиньте ссылку, если можно.

Автор: -=Ustas=- 12.9.2005, 23:18
В поиск что, лень сходить?! http://forum.vingrad.ru/index.php?showtopic=18686

Автор: boombick 13.9.2005, 13:57
Цитата(o @ 10.7.2005, 20:12)
И зачем ты везде понатыкал @

C помощью @ изменяется уровень обработки ошибок...
Порой это нужно бывает...

Автор: PARROT 13.9.2005, 16:26
dbcoder, прочитайте пожалуйста правила нашего форума.

Автор: Гость_Pro 4.10.2005, 05:59
Подскажите пожалуйста , уважаемые Хозяева форума,- где бы такие вот кнопочки как у вас в создании сообщения найти (как создать ) ? smile Очень мне они нравятся smile
А ещё очень хотелось бы знать нет ли в IPB таких возможностей как вставка в сообщение
не просто ссылки на скажем музыкальный файл, а прямое его воспроизведение ,
как это в PhpBB 1.52+ например...

Заранее спасибо smile

Автор: Гость_Pro 4.10.2005, 06:00
Подскажите пожалуйста , уважаемые Хозяева форума,- где бы такие вот кнопочки как у вас в создании сообщения найти (как создать ) ? smile Очень мне они нравятся smile
А ещё очень хотелось бы знать нет ли в IPB таких возможностей как вставка в сообщение
не просто ссылки на скажем музыкальный файл, а прямое его воспроизведение ,
как это в PhpBB 1.52+ например...

Заранее спасибо smile

Автор: Guest 4.10.2005, 06:00
Сорри smile Потрите плиз smile Вторй раз случайно запостил smile

Автор: BLOOD 17.10.2005, 20:14
когдая сделал сайт, передомной возникла следущая проблемма:
надо сделатъ так, чтобы на сайт заходитъ могли все, а скачиватъ информацию (проги и тп и тд) толъко определенный круг IP адресов...
Может поможите... буду оченъ признателен. [email protected]

Автор: DIMONSOFT 23.10.2005, 20:08
Гость_Pro Возьми и скопируй или скчать IPB

Автор: CyClon 4.12.2005, 11:28
Задание - написать новостную ленту с БД.

Продумать структуру:

1. Новости на проверке
2. Новости отконенные
3. Обычные ноовсти
4. Коммнтарии к ним
5. Добавление/Редактирование/Удаление
6. Использование BB-тегов

Думаю задание не слишком простое. Это же нада еще восвестить с регистрацией, чтобы разграничать права доступа.
Добавлено @ 11:31
BLOOD, if ... else..
Использую getenv("REMOTE_ADDR");

Код

if (getenv("REMOTE_ADDR") == 127.0.0.1) {
Header("Location: files.php?id=522");
} else {
echo "What?";
}


Автор: Гитарист 10.12.2005, 02:07
Ребята я тоже хочу научиться языку PHP!!! Помогите мне плиз!!!
Я сей час вообще ни чего не знаю!!! C чего начать??? Что делать???

Автор: -=Ustas=- 10.12.2005, 12:41
Цитата
Ребята я тоже хочу научиться языку PHP!!! Помогите мне плиз!!!
Я сей час вообще ни чего не знаю!!! C чего начать??? Что делать???

smile Купи хотя бы сначала книгу, да того же Котерова "Самоучитель PHP4" , для начала она сгодится и учи!

Автор: Гитарист 10.12.2005, 12:47
Ок!!! А возможно вообще выучить PHP самостоятельно???

Автор: o.s.a. 19.12.2005, 09:02
Гитарист, теоретически все возможно...
Читай книгу - получишь азы, а затем - практика, практика и еще раз практика smile

Автор: Гитарист 20.12.2005, 20:37
Ух ты!!! Что-то уже получается!!! Круто!!! Думаю я скоро буду к вам обращаться, щас не хочу задавать тупые вопросы!!!

Автор: AztEK 31.12.2005, 16:13
Лучше всего сразу писать большооооой проект....сразу многим вещам учишься...

Автор: Guest 15.1.2006, 11:19
Я вот только вчера набрел на ваш форум. Идолжен признаться что задержусь я тут на долго smile . С РНР я только начал знакомится. Так что пока посижу вами на этих уроках. Очень познавательно однако.

Автор: Штык 20.1.2006, 08:47
народ а может кто нить еще какое нить задание написать..чтоб потренироваться?

Автор: o.s.a. 20.1.2006, 09:04
Штык, а ты уже написал голосование, гостевую книгу и ... (еще там что-то было) ? smile

Автор: Mal Hack 20.1.2006, 11:03
Штык сам пишешь, мы тестим smile Специально для тебя тестить буду я, как я это делаю ты знаешь smile

Автор: TIGERоX 20.1.2006, 15:18
интересно возможно ли написать чат посредством пхп??

Автор: -=Ustas=- 20.1.2006, 15:25
Цитата(TIGERоX @ 20.1.2006, 15:18 Найти цитируемый пост)

интересно возможно ли написать чат посредством пхп??

А почему бы и нет?!

Автор: TIGERоX 20.1.2006, 16:54
Идеи не подкините??
Незнаю даже с чего начать...
Есть какие нить доки или примеры??

Автор: Mal Hack 20.1.2006, 17:45
TIGERоX что такое чат знаешь? Вот и начинай.
Постановка задачи - тоже важная вещь, которую программист должен уметь делать.

Автор: Штык 20.1.2006, 20:32
Цитата

Штык сам пишешь, мы тестим smile Специально для тебя тестить буду я, как я это делаю ты знаешь smile


оке ща начну катать голосование и гостевую книгу..

млух а мож ТЗ к гостевой написать?

Автор: TIGERоX 20.1.2006, 23:20
2Mal Hack
Дело не в постановке задачи а в реализации smile
в пхп я с недавнего времени к сожалению...
так что первый вопрос как сделать постоянное обновление??
когда юзер постит мессагу что бы все это было онлайн тобишь другие
товарищи ее сразу увидели??Нужна хотя бы идея...плиз
Да и неужто можно обойтись только пхп программированием(без JScript и т.д.????)

Автор: Partizan 20.1.2006, 23:34
ж) дык скачай исходники какогонить чата (например chat.php.spb ) и разбирай до посинения...

Автор: TIGERоX 20.1.2006, 23:39
честно говоря по-моему может уйти намного больше времени на изучение чужого кода
(невсегда конечено), хотя вопрос спорный...

Автор: VoTeR 21.1.2006, 18:07
А можно я покажу скрипт гостевой книги? Ей уже более 2х лет, но в php я все-равно ещё новичок. Куда скрипт кидать?

Автор: Штык 22.1.2006, 16:40
по поводу чата хорошая идея но пистаь опять же надо не толькопосредствами ПХП но и JavaScript не помешает..и ваще интересно не исходники поюзать а самому с 0 напсать..понять как это все делается..
кстати есть вот такая маза моно обьединить гостевуху,голосование и чат в мини портал который вы и будете тестить)))

Автор: Partizan 25.1.2006, 03:04
Цитата(Штык @ 22.1.2006, 16:40)
и ваще интересно не исходники поюзать а самому с 0 напсать..понять как это все делается..

Никто здесь не собирается исходники чужие юзать....
было предложение лишь изучить исходники какогонить чата, именно для понимания самой сути smile

Автор: Штык 25.1.2006, 11:27
Цитата

  было предложение лишь изучить исходники какогонить чата, именно для понимания самой сути


уже изучал)) так что терь буду тренироваться..

Автор: IvanB 29.1.2006, 17:18
Напишите какой-нибудь портал smile)
Сразу со многим разберётесь........
Сам щас долбаюсь.

Автор: Danox 29.1.2006, 17:55
Напиши следущие:
Чтоб скрипт узнавал IP сайта тоесть что-то вроде пинга
Сколькро не smile так и не не знаю как такое сделать

Автор: Ветерок 31.1.2006, 17:36
Всем привет! я давно наблюдал за эой темой и учился php.
И вот я написал гостевую книгу с использованием mysql,сначала я делал осовоную на файлах, но потом ввиду прочтения вашей темы решил на мускуле делать.
Сейчас геста тут выложена и работает- http://drocher.jino-net.ru/
Она не только сохраняет сообщения, там ещё есть антифлад, и админ панель, которую я щас дорабатываю. smile
Могу выложить исходники! smile

Автор: Danox 31.1.2006, 20:34
Parse error: syntax error, unexpected T_STRING in /home/users/d/drocher/docs/config.php on line 25

Хехе smile

Автор: Ветерок 31.1.2006, 21:03
Цитата

Parse error: syntax error, unexpected T_STRING in /home/users/d/drocher/docs/config.php on line 25

У кого же без ошибок ). Щас уже всё работает. smile

Автор: Штык 1.2.2006, 12:13
Цитата

У кого же без ошибок ). Щас уже всё работает. smile

чет у мя не получилось смайлики вставить..

Автор: Ветерок 2.2.2006, 00:31
Цитата(Штык @ 1.2.2006, 12:13 Найти цитируемый пост)

чет у мя не получилось смайлики вставить..

Хм..какой бразуер? Включён java?
З.Ы. Кому интересно можите скачать исходники гесты (http://drocher.jino-net.ru/download.php?id=22)
Это моя одна из первых работ, интересно узнать, что нитак, как можно было бы сделать лучше. ) smile

Автор: Штык 5.2.2006, 21:38
Ветерок
Цитата

Хм..какой бразуер? Включён java?


FireFox 1,06 JS включен..

Автор: Винчестер 17.3.2006, 11:03
Привет всем ! Помогите что нужно зделать чтобы скопировать анимашки с инета на камп? Спасибо

Автор: Guedda 17.3.2006, 13:30
Нажать правую кнопку мыши, и выбрать пункт меню "Скачать"

Автор: Рыжий 29.4.2006, 21:24
Такс, а можно и мне что-то пописать?  smile 
Не программил на php ровно с сентября  (поступал в этом году в ВУЗ и поступил!!!) так что теперь есть свободное время с недельку. Кака я вижу пишем гостевую книгу? Ну что ж постараюсь что нибудь склепать, время пошло...

PS ужас ничего не помню... совсем...
 

Автор: o.s.a. 8.5.2006, 19:39
Мне вот как раз сейчас в одном проекте тоже нужно гостевую написать  smile  

Автор: Рыжий 8.5.2006, 23:18
ОЙ сам не знаю как так вышло... но вместо гостевой вышла фотогалерея  smile
Могу сюда закинуть аттачем или разослать как спам всем  smile  

Автор: Преторианец 10.5.2006, 23:14
Ребята, проблема в написании рпг, не знаю с чего начать! 
Посовтуйте литературу, последовательность написания и дайте пожалуйста представление о движке и как его написать ( начем) ! 
 Спосибо!  

Автор: Falkon 3.7.2006, 13:02
всем привет, я тоже новичок в РНР, вернее сказать даже не новичок. Сейчас хочу изучить РНР и мне интересно с какими базами он работает и работает ли он в паре с Delphi? 

Автор: st1ng3r 3.7.2006, 15:20
Цитата

и работает ли он в паре с Delphi? 

Работает, проверено на личнрм опыте... 

Автор: Falkon 4.7.2006, 13:46
а, для написания РНР-страницы нужны какие нибудь файлы, модули  или просто открыл блокнот или какой либо РНР редактор и пробуй на здоровье? 

Автор: IZ@TOP 16.7.2006, 15:21
Модератор: Давайте не будет флеймить и отдаляться от темы. Вопросы не связанные с данным топиком прошу обсуждать в соответствующих местах.
 

Автор: w00w00 19.7.2006, 18:20
Привет всем! Я вот тоже только начинаю познавать силу PHP и вот мой вариант гостевой книги h**p://trerum.jino-net.ru/index.php аля Vingrad smile Прошу критиковать и указывать на баги\дыры которые наверняка имеются только вот я своим еще неопытным глазом их не замечаю. 

Автор: faost 23.8.2006, 16:30
Для такого сообещения точно надо создавать отдельный топик =)

Автор: Vaulter 24.8.2006, 12:37
вот реальная задача.
есть головной сайт, есть несколько мелких.
смысл у них: брать инфу (через php слой) с головного.
но задача не про это.
дело в том, что все мелкие построены на одних и тех же скриптах.
так вот, нужен скрипт который
1. будет запускатся раз в сутки (скажем, проверяя дату создания опр. файла)
2. запрашивать у головного (через get.db.php) инфу о рабочих скриптах
3. сохранять ее на клиенте (имеется ввиду мелкий сайт)
4. если есть различия в файлах на сервере (судя по инфе что пришла) и в файлах на мелком
запрашивать с сервера скрипт, и переписывать скрипт на мелком новым.
5. механизм распространяется на все скрипты в папке (/includes/ например или /core/) .
6. должен быть механизм обновления и самого этого скрипта.

Автор: ewolf 4.9.2006, 18:39
Цитата(Vaulter @  24.8.2006,  12:37 Найти цитируемый пост)
вот реальная задача.


Да это реально интересно - автообновление, как сделано в Bitrix или как загрузка плагинов в typo3.  Я думаю, здесь можно добавить еще несколько требований: автоматическое обновление структуры базы данных с возможностью преобразования существующих таблиц в их новые версии, использовании защиты от несанкционированного обновления (только зарегистрированные клиенты) и много другого. В идеале - вообще сделать универсальный скрипт, способный работать с любыми другими движками, обновляя их

Автор: Enya 18.10.2006, 13:48
Цитата(PARROT @  8.1.2005,  20:49 Найти цитируемый пост)
Я тут подумала, а не прибиться ли мне к вашей компании!?
Вот, я бы тоже выполнила бы задание. Есть ещё свободные места за партами?

Автор: Spider84 19.10.2006, 20:10
Я тоже с вами. Идея отличная. PHP изучил вроде а практики мало.

Автор: GothGirl 25.10.2006, 10:02
Цитата(korisarimi @  5.7.2006,  11:29 Найти цитируемый пост)
Нужен сервер типо Apache c поддержкой PHP. Но на мой взгляд лучше качай Denwer, он намного более прост в установлении. Со временем сам поймешь.

Недавно ставила Denwer.. На мой взгляд это какая то кастрированная версия старого доброго сервера. Например командная строка в MySQL не поддерживается.. Оно и не удивительно! Невозможно запихать все возможности PHP в 3,5 метра. 
Я думаю, что лучше поставить связку Apache+PHP+MySQL и хорошенько её настроить, чем докачивать библиотеки для Denwer'а

Автор: RomeoFX 5.11.2006, 15:45
Здравсвуйте недавно мне потребовалось написать сайт,html както просто дался сейчас у меня проблема в написании форума написал html  страници для форума,и скачал готовый форум но как всё это применить вместе никак не разберусь.Кто-нибудь может обьяснить что надо вставлять в html файл чтоб это всё заработало.Заранее спасибо 

Автор: Alukard 18.11.2006, 16:07
Прет всем, я не сомневаюсь что вольюсь в ваши ряды, господа...я буду не только как ученик, но может в некоторой степени и как учитель...если меня так можно назватьsmile Постараюсь быть полезным уже в первом посте...

RomeoFX, Чет, я не догоню...HTML страницы для форума это вообще что? Если писать форум, то полностью на php, а html вставлять в код ПХП уже...так проще будет, а если брать готовый форум, то вообще проблем не должно быть - там обычно и шаблоны и настройки готовы, остается тока подкорректировать администраторские данные, название форума и готово - ставь на сервак...
Объясни поподробнее пожалуйста, что требуется и что уже готово....


GothGirl,
В том, что в Denwer не поддерживается коммандная строка MySQL Вы, к сожалению, ошибаетесь...Попробуйте не запуская сервак запустить приложение 
Z:\usr\local\mysql4\bin\mysql_run_to_import_dumps.exe - это и есть настоящая командная строка MySQL...в ней весьма удобно работать, если уж так не по душе phpmyadmin... Хотя с визуальной обработкой куда быстрее выполнять операции с БД, чем из коммандной строки, но это уже дело вкуса...


Надеюсь, был полезен...если что ещё придумаю, напишу...

Автор: Alukard 19.11.2006, 10:21
Сейчас хочу выступить в роли учителя...Необходимо написать такой скрипт:
Главная страница - это форма с двумя полями: Ник и комментарий, после ввода данных, они отправляются на проверку корректности и если проверка удачна, то Ник и Комментарий необходимо добавить либо в файл либо в БД, но если работать с БД, необходимо создать файл *.sql чтобы перед запуском скрипта таблица добавлялась в БД... 
Ну и в итоге конечно же вывести на экран все данные в читабельном виде, к примеру в таблице...
Главные задачи проекта:
1) Корректно сделать обработку данных.
2) Осуществить правильный корректный вывод на экран.
3) Добавление записи желательно оформить отдельной функцией...

Буду ждать ваших примеров и ответов...если необходимо чем-то помочь, спрашивайте, но задача вполне простая, даже для новичков... 

Автор: Dukarrr 1.12.2006, 13:24
Пожалуста посмотрите на приведённый ниже код и выскажите мнение по поводу его написания.
Также есть вопрос: 
1.) пытаюсь при помощи java script сделать всплывающую подсказку но не получается привезать её к картам может кто знает как это сделать? 
2.) как закрепить таблицу чтоб она оставалась без изменений по вертикали? 
Заранее спасибо.

Код



<html>

<head>
<title>Визитки</title>

<style type="text/css"><!--
body{margin:0px;padding:0px;}Rambler's Top100
.tool_tip {
 
 font-family: Tahoma, verdana;
 font-size: 8pt;
 position: absolute;
 visibility: hidden;
 padding-top: 2px;
 padding-left: 5px;
 padding-right: 5px;
 padding-bottom: 2px;
 /* styles */
 background-color: #EEEEEE;
 border: 1px #999999 dashed;
}

--></style>

<script language="JavaScript">
<!--

ToolTip.offsetX=20; //смещения подсказки от курсора
ToolTip.offsetY=15; //
function ToolTip(obj, text) {
  
  if(!obj||obj.nodeType!=1) throw "Illigal argument exception"; //обьект к кому привязываем подсказку
 
  //-- Разметка подсказки ---
  var tip=document.createElement("DIV");
  tip.className="tool_tip";
  tip.innerHTML=text;
  document.body.appendChild(tip);
  //-- события --
  obj.onmouseout=function (ev) {
      tip.style.visibility="hidden";
  };
  
  obj.onmousemove=function(ev) { //если не нужно что бы подскасзка бегала, то onmouseover
      tip.style.visibility="visible";
      if(window.event) ev=window.event;
      tip.style.left=ev.clientX + document.body.scrollLeft + ToolTip.offsetX;
      tip.style.top=ev.clientY + document.body.scrollTop + ToolTip.offsetY;
  };
}
//переберем заданные элементы, дадим подказку тем у кого есть аттрибут tooltip
//В аргументах передаем имена рассматриваемых тегов, * все теги
 function initToolTips() {
    return;
    var tags, tooltext;
    for(var i=0; i<arguments.length; i++) {
       tags=document.body.getElementsByTagName(arguments[i]);
       for(var j=0; j<tags.length; j++)
            if((tooltext=tags[j].getAttribute("tooltip"))) ToolTip(tags[j], tooltext);
   }
}

//-->
</script>
</head>

<body bgcolor="#ffffff" text="#333333" link="#FFFFCC" alink="#FFFF00" vlink="#CCCCCC" onLoad="initToolTips('SPAN','IMG')">
<div align="top"><center>

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="1000">
  <tr border="0"><th height="393" colspan="4">
<? 
include"incl\shapka.inc"
?> 
 </th>
  </tr>
<tr height="100%">
<td ><? 
include"incl\centr.inc"
?></td>
 <td width="60%" align="top"  background="images/niz1_1.jpg" border="0">
<iframe align="middle" frameborder="0" src="1.txt"> </iframe>

</td>
<td width="1" bgcolor="#000000"> 
</td>
<td>
  <? 
include"incl\centr2.inc"
?>
</td>
</tr> 
    <tr ><th colspan="4">
<? 
include"incl\footer.inc"
?> 
 </th></tr>
    </table>
</center></div>

<map name="Map">
  <span  tooltip="переход на главную"><area shape="rect" coords="10,117,248,187" href="index.php"></span>
<area shape="rect" coords="164,51,188,70" href="mailto:[email protected]" alt="Используйте для связи с администратором">
<area shape="rect" coords="194,51,214,70" href="index.php" alt="Переход на главную страницу">
<area shape="rect" coords="220,52,242,70" href="#" alt="Отключено за ненадобностью">
<area shape="rect" coords="52,218,203,245" href="http://www.abiprint.ru" alt="Переход на основной сайт компании">
</map>


<map name="Map2">
<area shape="rect" coords="63,166,133,185" href="index.php" alt="Информация о визитках">
<area shape="rect" coords="66,192,153,208" href="#" alt="В разработке">
<area shape="rect" coords="65,217,133,233" href="#" alt="В разработке">
<area shape="rect" coords="60,241,117,257" href="#" alt="В разработке">
<area shape="rect" coords="64,263,112,280" href="#" alt="В разработке">
</map>
</body>
</html>



Автор: Alukard 2.12.2006, 06:20
Люди, ну как можно быть такими не внимательными....
Dukarrr, прочитай название раздела...вчитывайся в каждое слово:
"РНР для начинающих"...и теперь посмотри на свой код....желаю разобраться в допущенной ошибкеsmile))

Автор: Dukarrr 4.12.2006, 10:31
И всётаки может объясните что с моим кодом нетак? Он настолько кривой?  smile  smile  smile  smile 

Автор: Guedda 4.12.2006, 11:00
Модератор: Пожалуйста, один топик - один вопрос.

M
Guedda
Пользуйтесь кнопкой "Код"

Автор: cereza 25.4.2007, 23:42
я бы тоже хотел научится писать можно мне задание...вот только чувствую мой уровень на много ниже...и очень тежело будет написать и голосование и гостевую...можно как нибудь чтонить полегче?

Автор: square 28.4.2007, 13:01
Попробуйте написать простейший скрипт, в котором постарайтесь использовать ВСЕ операторы и конструкции php, полный список есть на php.net, поищите (заодно научитесь искать документацию)! ВНИМАНИЕ: имеются в виду именно ОПЕРАТОРЫ И КОНСТРУКЦИИИ, не нужно пытаться использовать все ФУНКЦИИ, ничего не выйдет smile

В принципе ничего особенного этот скрипт делать не должен, но если просто тупо расписывать вас не прикалывает, то можете написать, например, калькулятор для простейших арифметических операций!

Например так: Форма из двух полей для операндов (т.е. чисел, с которыми будет выполняться операция), выпадающий список со списком операций (сложение, вычитание, умножение и деление) и кнопка "пересчитать"! После нажатия на кнопку вы должны вычислить выражение и её результат поместить в первое поле для операндов (чтобы потом с ним можно было выполнить ещё одно выражение)!

Вот так!

Автор: FrRon 7.6.2007, 20:05
Как то заглохла темка...
Может кто - то посоветует на чем еще поучиться можно..
Я уже писал :

- Гостевая гнига [ MySQL \ files ]
- Голосовалка, как рекомендовалось
- Галерейка изображений.

***

Кстати насчет галереи. Кажется, ее тут никто не предлагал, а написать довольно таки просто =) Так что могу предложить эту задачку...
Что должна содержать :

- Отображение всех галерей, которые есть на сайте. Причем не только названия, но и всякая дополнительная инфа. От количества изображений до превью нескольких.
- Отображение отдельной галереи. Сюда внедрить механизм, который создает в каждой галерейке папку с уменьшеными изображениями. Например 200х200.
- Ну, ессно, включить постраничный вывод и прочие прелести...

Автор: naxellar 11.7.2007, 10:24
Придумайте, что-нибудь для меня. Я тоже хочу учиться.

Автор: Ashen 20.7.2007, 11:46
naxellar, напиши скрипт который считывает текстовый файл и генерирует картинку на которой написан тот же текст.

ЗЫ: надеюсь не особо пригодится в работе, но задача нетривиальная (для тех, кто не занимается спам-рассылками smile ). 

Автор: Diesel Draft 20.7.2007, 13:30
Хочешь писать? Тут человек просит уже паро дней скрипт 
http://forum.vingrad.ru/forum/topic-164011.html

Автор: naxellar 28.7.2007, 10:29
Ashen, был занят. Начинаю делать

Автор: Splendid 13.8.2007, 13:30
научите написать поиск на php по базе MySQL??? smile 

Автор: Diesel Draft 13.8.2007, 13:35
Splendid, ты темой не ошибся?

Автор: Severyanin 24.8.2007, 06:20
Тем более, что там писать нечего smile . mysqli_query() и немного SQL. И все smile 

Автор: ewolf 27.8.2007, 00:48
Цитата(Splendid @  13.8.2007,  13:30 Найти цитируемый пост)
научите написать поиск на php по базе MySQL???


Урок за 30 секунд:
Код

SELECT * FROM my_table WHERE name LIKE '%вася%'


Научил smile 

Автор: Severyanin 27.8.2007, 08:50
ewolf, а если совсем на php
Код

$link=new mysqli('hostname','user','password','database');
$result=$link->query("SELECT * FROM my_table WHERE name LIKE '%вася%'");
$res=$link->close();

 smile 

Автор: reich 27.8.2007, 15:16
а можно еще сделать метод, который будет генерить запросы  smile 

Автор: Gek01 6.10.2007, 16:06
чего то все голосовалки на один манер - выбери вариант и всё...а вот для интуитов-самоучек  может кто сваять голосовалку, в которой помимо выбора предложенных вариантов был и  пункты с предложением (угадыванием) конкретных чисел (до 4-х знаков допустим) и с возможностью вывода и сохранения в колонке результатов , скажем, среднего арифметического общих потуг. Желательно, чтобы результаты голосования всем голосующим, кроме админа были видны после голосования (для чистоты эксперимента)...

Автор: donion 4.3.2008, 01:44
Всем привет. Давно здесь уже никто не писал, ну так вот я поддержу тему.  smile 
Придумайте, интересное и сложное задание для меня, пожалуйста. 
Задание должно содержать:
1)Ajax;
2)php;
3)mysql;
И чтобы посложнее, чтобы все в ООП.
Да, забыл и чтобы + XML и XSLT.

Автор: flashaa 4.3.2008, 10:31
donion, а чего тут особо придумывать.
Сделайте онлайн шашки, в которых игра будет осуществляться через AJAX.
Регистрация пользователей, хранение информации по матчам - mysql.
Логика должна быть отделена от представление - используйте шаблоны.
Шаблоны будут в виде XLST. Поскольку XSLT требует входной XML с данными, то само собой вытекает формирование XML.
Для XML надо использовать собственный класс, а не обращаться напрямую к DOMDocument, т.к. его синтаксис зафлудит скрипт. Это вам задание по ООП номер раз. И другие задания по ООП: Все сущности проекта должны быть в виде классов. Например класс-пользователь, класс-матч, класс-ход или другие, на ваше усмотрение. Необходимо применить различные шаблоны ООП (factory, singleton, composition, decorator, observer) в вашем проекте.

Автор: donion 4.3.2008, 12:37
Класс!! smile  Уже начал делать, пока все ясно....пока.... smile 

Автор: Cache 5.3.2008, 19:15
можно и мне задание, только попроще чем предыдущее)
хочу нормально освоить объектно-ориентированный метод

пускай задание включает мускуль и, может быть, основы js
спасибо))

Автор: donion 13.3.2008, 00:33
flashaa, Для перетаскивания шашек хочу использовать drag-and-drop, подскажи пожалуйста это правильно? и что еще можно? smile 

Автор: Serkys 13.3.2008, 09:15
donion, мне кажется, drag'n'drop с нуля сделать будет очень сложно.
Попробуй js-библиотеку script.aculio.us, там есть такие возможности.

Автор: Fortop 13.3.2008, 20:27
Цитата(Serkys @  13.3.2008,  09:15 Найти цитируемый пост)
Попробуй js-библиотеку script.aculio.us, там есть такие возможности. 

smile а может jQuery? smile там еще проще.

Автор: donion 14.3.2008, 01:33
Serkys, script.aculo.us - Супер  smile  Спасибо.

Автор: donion 21.4.2008, 17:47
Ну что, я доделал, вроде ничё получилось. Конечно сейчас уже понимаю, что можно сделать и лучше и быстрее, и меньше кода - в конце уже начал замечать очевидные вещи. Но опыта получил море.  smile 
Если кому интересно посмотреть на код и раскритиковать его, и если кто подскажет куда можно выложить на всеобщее обозрение, буду очень благодарен.  smile 

Автор: Genn1us 7.5.2008, 18:49
Подскажите, как сделать, а то, что т не понимаю. Проблема такая “пишу” голосования с БД.
Вот не пойму как там с этими числами, сколько кто проголосовал я вот делаю так в phpmyadmin создаю базу с названием poll, потом создаю таблицу с названием poll, а в ней, например a,b,c,d,f вставляю в них сколько раз голосовали за эти буквы a=1 b=2 c=3 d=4 f=5 потом коды (просто подсчитать сколько всего голосов):
файл 1.php
Код

<?
include "config.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$kodirovka = mysql_query('SET NAMES "cp1251"');
$SELECT = "SELECT (*) FROM poll";
$result = mysql_query($SELECT);
if (isset($_POST['a'])) {$a = $_POST['a'];}
if (isset($_POST['b'])) {$b = $_POST['b'];}
if (isset($_POST['c'])) {$c = $_POST['c'];}
if (isset($_POST['d'])) {$d = $_POST['d'];}
if (isset($_POST['f'])) {$f = $_POST['f'];}
$summa = $a + $b + $c + $d + $f;
?>

файл 2.php
Код

<? 
include "1.php"; 
?>
Всего голосов: <strong><? echo "$summa";?></strong>

Но выводит - Всего голосов:0

И база:
Код

-- 
-- База данных: `poll`
-- 
-- 
-- Структура таблицы `poll`
-- 
CREATE TABLE `poll` (
  `a` int(11) NOT NULL,
  `b` int(11) NOT NULL,
  `c` int(11) NOT NULL,
  `d` int(11) NOT NULL,
  `f` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- 
-- Дамп данных таблицы `poll`
-- 
INSERT INTO `poll` VALUES (1, 2, 3, 4, 5);



В чем моя ошибка? почему не выводит:
Всего голосов:15   ??

Заранее спасибо.

Автор: Sannis 7.5.2008, 21:13
А почему должно? Посмотрите внимательно на свой код, вы делается запрос SELECT в БД, а дальше результат нигде не обрабатываете. Вместо этого вы суммируете данные из массива $_POST, который ясное дело пустой и сумма будет равна нулю.

Автор: Genn1us 7.5.2008, 21:21
я исправил файл 1.php на
Код

<?
include "config.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);
if (isset($_POST['a'])) {$a = $_POST['a'];}
if (isset($_POST['b'])) {$b = $_POST['b'];}
if (isset($_POST['c'])) {$c = $_POST['c'];}
if (isset($_POST['d'])) {$d = $_POST['d'];}
if (isset($_POST['f'])) {$f = $_POST['f'];}

if (isset($a) && isset($b) && isset($c) && isset($d) && isset($f))
{
$summa = $a + $b + $c + $d + $f;
}
else
{
echo "Ошибочка!";
}
?>

Но безрезультатно( 

Автор: Fortop 7.5.2008, 22:57
Genn1us, ты же извлек данные в $result
Почему с ним не работаешь?

Автор: Str 8.5.2008, 06:49
Цитата(Genn1us @ 7.5.2008,  21:21)
я исправил файл 1.php на
Код

<?
include "config.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);
if (isset($_POST['a'])) {$a = $_POST['a'];}
if (isset($_POST['b'])) {$b = $_POST['b'];}
if (isset($_POST['c'])) {$c = $_POST['c'];}
if (isset($_POST['d'])) {$d = $_POST['d'];}
if (isset($_POST['f'])) {$f = $_POST['f'];}

if (isset($a) && isset($b) && isset($c) && isset($d) && isset($f))
{
$summa = $a + $b + $c + $d + $f;
}
else
{
echo "Ошибочка!";
}
?>

Но безрезультатно(

Причем здесь  $_POST  тыже не принемаеш данные
а вытаскиеш их из БД

вот так попробуй
Код

include "config.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);

if (isset($result['a'])) {$a = $result['a'];}
if (isset($result['b'])) {$b = $result['b'];}
if (isset($result['c'])) {$c = $result['c'];}
if (isset($result['d'])) {$d = $result['d'];}
if (isset($result['f'])) {$f = $result['f'];}

if (isset($a) && isset($b) && isset($c) && isset($d) && isset($f))
{
$summa = $a + $b + $c + $d + $f;
}
else
{
echo "Ошибочка!";
}
?>


Это если только у тебя в таблице только одна запись будет 
если нет то Загоняй это все в цикл 
Код

while ($result = mysql_fetch_array($SELECT)) {
Здесь твой код
}


Надо читать  RTFM
http://php.ru

Автор: Genn1us 8.5.2008, 12:11
Всем спасибо запомощь.

Str, спасибо все ок, работает)

Автор: Genn1us 8.5.2008, 16:55
Подтолкните мыслёй не могу понять, как записать в коде голосований добавление +1 в выбранному ответу. Как это записать вот есть в БД варианты a,b,c,d,f они идут все с 0 так как не кто не голосовал. Я выбираю, например ответ b нажимаю кнопку голосовать, и код обновляет это т голос, добавляя к b + 1 бал, а как это записать сам код не пойму.
Зы. Я не понимаю, как только это записать. Если выбрали ответ b, то прибавляем к нему +1 и обновляем БД.
Подскажите, пожалуйста, как записать буду очень признателен.

Автор: Fortop 8.5.2008, 17:16
Арифметику в школе учили? b = b+1?

Автор: Genn1us 8.5.2008, 19:53
Fortop, причем тут учил или нет.
а b = b + 1 b как это? при каждом обновлении он будет добавлять b+1?
я попросил обьяснить как нормально это все записать, а  b+1 я и так знаю.

Автор: Fortop 8.5.2008, 20:35
Ок, тогда начнем попорядку. Что именно ты не можешь записать?

Условные операторы знаешь? 
Как проверить, что пришло а,b,c,d или f можешь?
Как получить текущее значение из базы тебе выше пример уже привели.
Прибавить к текущему значению соответствующего варианта +1 можешь?
Сохранить новое значение в базе можешь?


Автор: Genn1us 8.5.2008, 20:58
Я записываю так но это не правельно(
Код

<? 
include "config.php";
include "include/summa.php"; 
include "include/vop.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$kodirovka = mysql_query('SET NAMES "cp1251"');
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);
if($result['a']!=''){} else {$a = a + 1;}
if($result['b']!=''){} else {$b = b + 1;}
if($result['c']!=''){} else {$c = c + 1;}
if($result['d']!=''){} else {$d = d + 1;}
if($result['f']!=''){} else {$f = f + 1;}
$UPDATE = mysql_query ("UPDATE poll SET a='$a',b='$b',c='$c',d='$d',f='$f'");
$SQL = mysql_query($UPDATE);
?>

Автор: Fortop 8.5.2008, 21:04
Так.
во-первых,

В каждой такой строке целых 2ве ошибки. Одна синтаксическая (сам найдешь). Вторая логическая.
Код

if($result['a']!=''){} else {$a = a + 1;}

В каком случае $a увеличится на 1цу? А для остальных полей?
А голосует у тебя кто? Пользователь? или база?

Автор: Genn1us 8.5.2008, 21:14
ну это сам код форма вот и сам код:
Код

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href=http://localhost/poll/css/style.css type=text/css rel=StyleSheet>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<? 
include "config.php";
include "include/summa.php"; 
include "include/vop.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$kodirovka = mysql_query('SET NAMES "cp1251"');
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);
if($result['a']!=''){} else {$a = a + 1;}
if($result['b']!=''){} else {$b = b + 1;}
if($result['c']!=''){} else {$c = c + 1;}
if($result['d']!=''){} else {$d = d + 1;}
if($result['f']!=''){} else {$f = f + 1;}
$UPDATE = mysql_query ("UPDATE poll SET a='$a',b='$b',c='$c',d='$d',f='$f'");
$SQL = mysql_query($UPDATE);
?>
<FORM NAME="poll" action="index.php" CLASS="norm" METHOD="POST">
<table width="150" height="149" border="0" cellpadding="0" cellspacing="0" align="center" class="reg_exit">
  <tr>
    <td width="150" valign="top"><table width="149" height="145" border="0" cellpadding="0" cellspacing="0">
      <tr>
    <td width="15%" height="20" align="center" class="vop"><? echo "$vop";?></td>
 </tr>
     
      <tr>
  <td width="15%" class="txt_vop"><input type="radio" name="rad" value="a" /><? echo "$vop_a";?></td>
  </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" value="b" /><? echo "$vop_b";?></td>
 </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" value="c" /><? echo "$vop_c";?></td>
 </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" value="d" /><? echo "$vop_d";?></td>
  </tr>
      <tr>
  <td width="15%" class="txt_vop"><input type="radio" name="rad" value="f" /><? echo "$vop_f";?></td>
  </font></tr>
      <tr>
  <td width="15%" align="center">
   <input type="submit" value="Проголосовать" class="botom">
    </td>
   </tr>
      <tr>
        <td class="result">&nbsp;Всего голосов: <strong><? echo "$summa";?></strong>          </td>
      </tr>
    </table></td>
  </tr>
</table>
</FORM>
</body>
</html>

Автор: Fortop 8.5.2008, 21:16
Genn1us
Мои вопросы остались открыты.

1. Откуда у тебя беруться значения в $result?
2. В каком случае $a увеличится на 1цу? 
3. А для остальных полей? А голосует у тебя кто? Пользователь? или база?

Автор: Genn1us 8.5.2008, 21:21
FortopОдна синтаксическая (сам найдешь).
ошибка в том что   if($result['a']!=''){} получается если а не пустая то не че не делаем?) а нужно  
if($result['a']=' '){}  до меня правильно допёрло?))

Автор: Fortop 8.5.2008, 21:24
не совсем. Это была логическая ошибка. ты ее исправил на еще одну синтаксическую smile

правильное сравнение вот так

Код

if($result['a']==''){}


про операторы сравнения читать http://www.php.net/manual/ru/language.operators.comparison.php

Добавлено через 44 секунды
Теперь попробуй ответить на 3 моих вопроса по-порядку

Автор: Genn1us 8.5.2008, 21:25
1. с базы)
Код
 
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);


2.Если 2 пустая 
Код

if($result['a']==''){}

то не че не делаем если она заполнена то 
Код

else {$a = a + 1;}

3. ну почему база там же есть форма выбираешь правильный ответ и нажимаешь голосовать.

Автор: Fortop 8.5.2008, 21:26
А где у тебя проверяется за какой вариант пользователь проголосовал?

Автор: Genn1us 8.5.2008, 21:30
Ну есть в форме названия ее то есть
Код

<input type="radio" name="rad" value="a" />

но только не пойму если я вписываю в name a то что т не то получается( 

Автор: Fortop 8.5.2008, 21:32
Вот смотри и слушай.
У тебя сейчас логика такая.

Допустим пользователь проголосовал.

Мы выбираем значения из базы! И проверяем каждый из них, если они не пустые -  плюсуем по 1.
А что там у нас проголосовал пользователь - нам глубоко безразлично.
Как ты считаешь это правильно?

Автор: Genn1us 8.5.2008, 21:33
нет) 
нужно, что б в форме была эта буква а?
Код

<input type="radio" name="a" value="a" />

так?)

Автор: Fortop 8.5.2008, 21:35
Далее, у тебя из формы приходит какой-то $_POST

Ты смотрел что он содержит? нет?

перед этой строкой
Код

$result = mysql_fetch_array($SELECT);


добавь следующий код 
Код

if (count($_POST)>0) {
   echo '<pre>';
   print_r($_POST);
   echo '</pre>';
}


И попробуй проголосовать.

Добавлено через 22 секунды
Genn1us, в форме у тебя более менее все правильно.

Добавлено через 2 минуты и 10 секунд
Ошибки у тебя пока в логике обработки.

Вот твой алгоритм.
  • Пользователь видит форму.
  • Голосует.
  • Мы получаем вариант ответа.
  • Читаем текущие результаты из базы.
  • В зависимости от варианта ответа мы увеличивает только одно! значение на 1
  • записываем его в базу.

Добавлено через 2 минуты и 22 секунды
Ты делаешь так же?

Автор: Genn1us 8.5.2008, 21:41
вписал, на странице вывел:
Array
(
    [rad] => f
)


И еше не пойму вот сейчас обновил и он прибавил сразу 5 и все это после нажатия на кнопку голосовать при повторном больше не добавляет.

Автор: Fortop 8.5.2008, 21:45
не торопись.

Итак, если мы выбираем ответ. то он нам приходит в $_POST['rad'] в виде буквы.

Автор: Genn1us 8.5.2008, 21:47
А так нужно в виде цифры?

Автор: Fortop 8.5.2008, 21:48
есть такой замечательный оператор

http://www.php.net/manual/ru/control-structures.switch.php
Код

switch ($var) {
    case 'somevalue1':
    // какой-то код если переменная $var=='somevalue1'
    break;
    case 'somevalue2':
    // какой-то код если переменная $var=='somevalue2'
    break;
    default:
    // если ничего не подошло, то еще код
    break;
}


Нас и буква и цифра устроит. Мы с тобой выяснили откуда, куда и какие значения приходят. Теперь их нужно обработать.

Автор: Genn1us 8.5.2008, 21:56
А обработка в виде если (а) пустая то не что не делаем, если не пустая то +1 к (а) и обновляем БД.

Автор: Fortop 8.5.2008, 21:57
Genn1us, Я же дал оператор smile
Если приходит а - то делаем одно, если f - то другое, и так для каждого варианта.

(есть более изящные способы, но пока разберись с этим).

Добавлено через 41 секунду
Базу обновлять будешь потом, для начала научись увеличивать нужное тебе значение.

Автор: Genn1us 8.5.2008, 22:05
Я не сильно понял но:
если приходит (а) то добавляем к ней +1?

если приходит (b) то  добавляем к ней +1?

если по умолчанию то можно вывести например спасибо за ваш голос?
так все понял? smile 

Автор: Fortop 8.5.2008, 22:07
Genn1us
Все правильно.
Только по умолчанию - default у тебя никогда не должен сработать. Если ты правильно все сделаешь.

Добавлено через 2 минуты и 10 секунд
Да и еще, обрати внимание.
Что значения которые ты получаешь из базы храняться у тебя не
в $a, $b ...
а в $result['a'], $result['b'] .....

Автор: Genn1us 8.5.2008, 22:10
Эм.. 
Только как это записать))

Добавлено через 1 минуту и 23 секунды
Код

switch ($var) {
    case 'a':
    $f = a + 1 if $var=='a'
    break;
    case 'b':
    $f = b + 1 if $var=='b'
    break;
    default:
    // если ничего не подошло, то еще код
    break;
}

Но что т мне кажется это не правильно)

Автор: Fortop 8.5.2008, 22:24
Genn1us
1. ты прочитал ссылку что я дал?
2. Ты прочитал комментарии к коду который я привел?
3. ВСЕ переменные в PHP начинаются с $
А ты регулярно лепишь вот такое 
Код

$f = b + 1

4. начни все же с раздела номер два по этой ссылке http://phpclub.ru/manrus/

Добавлено через 1 минуту и 53 секунды
http://www.php.net/manual/ru/tutorial.php

Добавлено через 2 минуты и 51 секунду
Вот еще замечательный раздел
http://phpfaq.ru/php5.ru/study/chapter3.html

Автор: Genn1us 8.5.2008, 22:32
так после того как я ввел такое:
Код

if($result['a']==''){} else {$a = $a + 1;}


он стал прибавлять сразу по 5, то есть прибавляет сразу ко всем переменным.

 smile 

Автор: Fortop 8.5.2008, 22:36
Genn1us, для этого тебе и нужен switch () {}

Автор: Genn1us 8.5.2008, 22:54
Код

switch ($var) {
    case a:
    $a = $a + 1 if $var=='a'
    break;
    case b:
    $b = $b + 1 if $var=='b'
    break;
    default:
    echo "0";
    break;
}


?

Автор: Fortop 8.5.2008, 22:55
Код

 if $var=='a'

лишние.

Добавлено через 25 секунд
Код

case 'a': 

и т.д.

Автор: Genn1us 8.5.2008, 23:00
Код

switch ($var) {
    case 'a':
    $a = $a + 1;
    break;
    case 'b':
    $b = $b + 1;
    break;
    case 'c':
    $c = $c + 1;
    break;
    case 'd':
    $d = $d + 1;
    break;
    case 'f':
    $f = $f + 1;
    break;
    default:
    echo "0";
    break;
}


Все равно не работает( подскажи что еще сделатЬ?

Автор: Fortop 8.5.2008, 23:05
1. У тебя значения прочитанные из базы где храняться?
В $result['a'] и т.д.
А увеличиваешь ты что? $a, и т.д. где логика?

2. для увеличения значения на +1
можно пользоваться такой конструкцией

Код

$result['a']++;

Автор: Genn1us 8.5.2008, 23:09
Код

switch ($var) {
    case 'a':
    $result['a']++;
    break;
    case 'b':
    $result['b']++;
    break;
    case 'c':
    $result['c']++;
    break;
    case 'd':
    $result['d']++;
    break;
    case 'f':
    $result['f']++;
    break;
    default:
    // echo "0";
    break;
}

Так?

Автор: Fortop 8.5.2008, 23:11
smile ты постоянно у меня будешь спрашивать?
Проверить сам можешь работает оно или нет?

Добавлено @ 23:12
да и кстати, ты значение голосования с формы получил в какую переменную?

а в switch () ты у какой переменной значение проверяешь?

Автор: Genn1us 8.5.2008, 23:12
нет, не работает и за этого и спрашиваю)

Добавлено через 54 секунды
Я вот думаю может это что в самой форме?

Автор: Fortop 8.5.2008, 23:16
Genn1us
1. для решения любой задачи ты должен четко представлять последовательность действий. Тогда сможешь сам проверять себя.
Получил ли ты нужное тебе значение на том или ином шаге (примерный алгоритм твоего голосования я приводил несколькими постами выше). Выполнилось ли условие и т.д.

2. сейчас мы с тобой разбираем все буквально по шагам, но нужно учиться делать это все самому.

А для этого читай ссылки, что я тебе дал. Тебе нужно выучить синтаксис операторов.
Как можно получать значения с формы, как работать с условиями в зависимости от полученного значения а не левой переменной из примера.

Сейчас у тебя не работает потому, что ты не понимаешь, что делает оператор, почему в том или ином месте стоит именно эта переменная. Но это пройдет со временем - ты научишься.

Добавлено через 2 минуты и 40 секунд
Genn1us,
ты видел что с формы тебе приходит результат?

Причем тут тогда форма? smile

Добавлено через 6 минут и 32 секунды
Что именно не работает?
Что ты хочешь увидеть и что не видишь? smile

Автор: Genn1us 8.5.2008, 23:26
он не прибавляет +1(

Добавлено через 3 минуты и 45 секунд
Код

$UPDATE = mysql_query ("UPDATE poll SET a='$a',b='$b',c='$c',d='$d',f='$f'");
$SQL = mysql_query($UPDATE);
?>

Обновление правильно идет?)

Автор: Fortop 8.5.2008, 23:35
Genn1us
куда не прибавляет? smile
Как ты это видишь?

добавь в каждой ветке
Код

echo $result['a']; //вместо 'a' подставишь соответствующие ключи.

и т.д.

Автор: Genn1us 8.5.2008, 23:44
Цитата(Fortop @ 8.5.2008,  23:35)
Genn1us
куда не прибавляет? smile
Как ты это видишь?

Просто в голосовании при нажатии на кнопку голосовать он обновляет но не че не добавляет так как 1) надпись Всего голосов: 0 
2) в бд все по 0-м(

Автор: Fortop 8.5.2008, 23:52
Так теперь надо сделать еще и обновление в базе smile 

Автор: Genn1us 8.5.2008, 23:54
Вот весь код:
Код

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href=http://localhost/poll/css/style.css type=text/css rel=StyleSheet>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<? 
include "config.php";
include "include/summa.php"; 
include "include/vop.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$kodirovka = mysql_query('SET NAMES "cp1251"');
$SELECT = mysql_query("SELECT * FROM poll",$db);
//if (count($_POST)>0) {
//   echo '<pre>';
//   print_r($_POST);
//   echo '</pre>';
//}
$result = mysql_fetch_array($SELECT);
switch ($var) {
    case 'a':
    $result['a']++;
    break;
    case 'b':
    $result['b']++;
    break;
    case 'c':
    $result['c']++;
    break;
    case 'd':
    $result['d']++;
    break;
    case 'f':
    $result['f']++;
    break;
    default:
    // echo "0";
    break;
}
$UPDATE = mysql_query ("UPDATE poll SET a='$a',b='$b',c='$c',d='$d',f='$f'");
$SQL = mysql_query($UPDATE);
?>
<FORM NAME="poll" action="index.php" CLASS="norm" METHOD="POST">
<table width="150" height="149" border="0" cellpadding="0" cellspacing="0" align="center" class="reg_exit">
  <tr>
    <td width="150" valign="top"><table width="149" height="145" border="0" cellpadding="0" cellspacing="0">
      <tr>
    <td width="15%" height="20" align="center" class="vop"><? echo "$vop";?></td>
 </tr>
     
      <tr>
  <td width="15%" class="txt_vop"><input name="rad" type="radio" id="a" value="a" />
  <? echo "$vop_a";?></td>
  </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" id="b" value="b" /><? echo "$vop_b";?></td>
 </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" id="c" value="c" /><? echo "$vop_c";?></td>
 </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" id="d" value="d" /><? echo "$vop_d";?></td>
  </tr>
      <tr>
  <td width="15%" class="txt_vop"><input type="radio" name="rad" id="f" value="f" /><? echo "$vop_f";?></td>
  </tr>
      <tr>
  <td width="15%" align="center">
   <input type="submit" value="Проголосовать" class="botom">
    </td>
   </tr>
      <tr>
        <td class="result">&nbsp;Всего голосов: <strong><? echo "$summa";?></strong>          </td>
      </tr>
    </table></td>
  </tr>
</table>
</FORM>
</body>
</html>


Автор: Fortop 8.5.2008, 23:58
Код

$UPDATE = mysql_query ("UPDATE poll SET a='$a',b='$b',c='$c',d='$d',f='$f'");


Значение каких переменных ты записываешь в базу? smile

А увеличиваешь какие? smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)