![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| nurv_ad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
Доброго времени суток.
У меня возникла такая вот потребность. Раньше с базами не приводилось работать а вот щас надо сделать маленький скриптик. заключается в том: Есть база id|title|name в базе хранятся названия тем рефератов пользователь защедший на страницу, может нажать на поле фамилия и внести туда свои данные (при этом добавление в поле данных происходит только один раз, дальнейшая запись запрещена) Читал help в инете но дальше создание и выведение данных не продвинулся
как сделать чтоб можно было добавить токо фамилию и один раз. Скрипт делается для сайта своей группы. Заранее благодарен. Добавлено @ 23:57 Извините наверное стоит перенести тему в базу данных - mysql |
|||
|
||||
| corpsehunter |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Если я правильно понял, то человек вводит свою фамилию, ему рандомно присваивается тема результата и человек с такой фамилие не может добавить себя еще раз. Если это так, то тебе надо что-то типа такого:
Про рефераты позаботишься сам (если я правильно понял задачу...)
Это, кстати, таблица, а не база Это сообщение отредактировал(а) corpsehunter - 27.2.2007, 01:34 --------------------
Тест на IQ показал отрицательный результат... |
||||
|
|||||
| nurv_ad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
суть в том что, на против названия темы будет фамилия, при нажатии на нее выводится форма и записываетс язначение в поле name при этом фамилия присваивается к таму ID каторая у поля Title? при этом надо чтоб ни кто другой не мог писать в данном ID
Добавлено @ 02:14 кстати сори. Спасибо за код... щас мы его немного подделаем. |
|||
|
||||
| nurv_ad |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
Правильно ли я делаю. Поправьте если не так. Добавлено @ 04:50
гдет ошибка а где ни как не пойму. |
||||
|
|||||
| Alex13 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 30.12.2005 Где: Новосибирск Репутация: нет Всего: 1 |
Ошибка номер раз:
Наверное, все-таки $port... Ошибка номер два-с и три-с:
Надо пользоваться массивами $_GET[] и $_POST[] для получения данных извне. И в таком случае условие будет выглядеть вот так:
Четвертая ошибка - открывающих фигурных скобок больше, чем закрывающих. Пятая - вы про принцип "HTML - отдельно, PHP - отдельно" слышали? Шестая - за такое оформление кода сажать надо. Года на полтора. С единственной книжкой - "Оформление кода для чайников". -------------------- Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий. Антисоциальный блог. |
||||||
|
|||||||
| corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Нафига тебе выводить весь html-код с помощью echo? Лучше, тогда помести php-сценарий в отдельном файле, а после выполнения скрипта делай редирект, например, на главную страницу (ну, или обратно, если охота).
Потом, вместо print("msg") и exit() используй die("msg"). Это ничего не даст, но код будет компактнее и после if можно будет не ставить скобок. Советую использовать всегда что-то одно - либо print, либо echo. P.S. Список рефератов советую выводить с помощью выпадающего списка или радиобутонов. P.S.S. А вообще, действительно, как то страшно все выглядит, исправь - посмотрим... --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
| nurv_ad |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
извините за столь серьезно режущий глазу код, я же токо учусь использовать mysql
получилось следующее в базу данные вносятся но создается отдельное поле с пустым title и заполненым name. а как сделать чтоб он добавлял name к тому же title где и нажимал добавить фамилию т.е. есть записи в базе id title и name человек допустим хочет записаться под темой номер 1 в базе у нее id = 1 show.php
1.php
add.php
|
||||||
|
|||||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
в запрос дописать условие по которому будет обновляться именно запись под номером $numb -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Все правильно - как был сформулирован вопрос - такое и решение Вот такой тогда еще вопрос: если поле id в таблице у тебя соответствует номеру темы, то зачем его делать автоинкрементом. Автоинкремент - поле, заполняемое автоматически с увеличением на 1, начиная от 1 (если не указано другое) - для первой записи 1, для второй 2 и т.д., т.е. у тебя номер этого поля будет соответствовать не теме реферата, а порядку добавления пользователей в таблицу. Если ты собираешься делать именно так, то, во-первых, убираешь автоинкремент, во-вторых, например, заводишь массив с темами - номер темы - это "индекс элемента + 1", в третьих, если $i - номер элемента, а $title[] - массив, то запрос на добавление будет выглядеть так: $sql = "INSERT INTO referat (id, title, name) VALUES ('$i', '$title[$i+1]', '$name')"; P.S. Скобки (id, title, name) можно опустить, т.к. в данном случае порядок и количество столбоцов соответствует тому, что указано после VALUES. --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
| nurv_ad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
еще раз смысл.
Автоинкримент поставил так как я думаю это все равно мне не так принципиально, скрипт будет использован несколько раз всего. номер темы не принципиально важен просто для списка. задача только одна есть. Фамилия: | № темы (id по умолчанию) | Title -- | №1 | История сталинграда мне всего навсего надо, чтоб студен нажав на фамилию
получил форму, в форме лишь указав фамилию, которая запишется в то поле name к которому присвоено ID = №1 (но при этом надо запретить повторную запись в базу) Мне не понятно как указать запросу на то чтоб он смотрел на то к какой теме записывать name Добавлено @ 23:31 то что делаю вот тут |
|||
|
||||
| corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Тебе надо при нажатии на ссылку "Фамилия" добавить еще одну переменную, например номер, а потом, по номеру определять тему (ну или можно весь текст темы). Выглядеть это будет примерно так:
http://nurv-ad.net.ru/plexa/referat/show.p...ion=add&i=1 & - обозначает, что передатеся не одна переменная, а i=1 - переменная и ее значение. Это для первой темы --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
| nurv_ad |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
тут вот мучаюсь а точнее я уже не знаю что я делаю.
Мне всего лишь нужно чтоб записывалось имя в именно данно поле.
Добавлено @ 01:38 одновременно добавили щас попробую твой вариант Добавлено @ 01:45 а можно сделать так
|
||||
|
|||||
| nurv_ad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
помогите с запросом, что ни как не могу составить
Это сообщение отредактировал(а) nurv_ad - 28.2.2007, 02:05 |
|||
|
||||
| corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
А в чем проблема с запросом?
Кстати, где у тебя храняться темы рефератов? Если только в виде html-текста, то ты их не сможешь добавить в базу. Не знаю, как ты хочешь сделать, но могу предложить вариант, чтобы на той страничке, ссылку на которую ты дал, напротив рефератов, ктороые заняты, вместо ссылки фамилия появлялась фамилия того, кто ее выбрал. --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
| nurv_ad |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
вот это я и хочу сделать но для этого надо чтоб была произведена запись фамилии в базу
темы хранятся в title добавляю сами темы <form action=\"\" method=post> <input name=seenform type=hidden value=y> Название темы <input name=title size=100><button type=submit>записать</button> <br> <input name=name size=20> </form> я вот тут на форумах отписал разных, может не правильно выразился с заданием. Прошу прощения но я повтарю все целиком может уже будет понятнее. Помогите разобраться Задача: Есть созданная база с темами рефератов. Студен может подписаться под темой, написав свою фамилию, но при этом надо чтоб повторная запись фамилии был запрещен. Что уже есть: выводятся данные Фамилия | ID | Название темы но почему при заполнении формы данные в поле name не заносятся. Помогите решить проблему. Заранее благодарен. Делаю следующее: # # Структура таблицы `referat` # CREATE TABLE `referat` ( `id` int(2) NOT NULL auto_increment, `title` varchar(255) default NULL, `name` varchar(50) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=41 ; INSERT INTO `referat` VALUES (1, 'Общественное питание и его место на потребительском рынке', ''); INSERT INTO `referat` VALUES (2, 'Проблемы и тенденции развития общественного питания', ''); (и т.д.) show.php
1.php
add.php
Это сообщение отредактировал(а) nurv_ad - 28.2.2007, 03:46 |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |