![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| andreyka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 4.11.2006 Репутация: нет Всего: нет |
ПРошу прощения. Но из за ошибки создалось 2 темы. Удалите темму которая ниже в категори.
У меня такой вопрос возник. Если кто может помогите пожалуйста. У меня есть новость например вставляю новость запросом
интересуют поля $title', '$textshort', '$textmore' $title = "название новости"; $textshort= "коротка новость" ; $textmore ="полная новость" ; как мне в запросе проверить , есть ли уже запись в базе данных, из поля $title тоесть мне нужно чтоб добавляемая запись а именно название новости было уникальным. Как сделать это. Извините что спрашиваю начал учить sql так как понадобилось а понять не могу. Я могу конечно проверять с помощью IF оператора но делать двойную работу не хочу. и так если $title = "название новости"; не равно. То добавляем новость. если равно. то просто ее пропускаем Это сообщение отредактировал(а) andreyka - 5.10.2008, 15:00 |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 2 Всего: 89 |
Можно просто назначить полю title индекс unique. А можно еще почитать тут: http://forum.vingrad.ru/forum/topic-230774.html
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| andreyka |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 4.11.2006 Репутация: нет Всего: нет |
Благодарю вас за овет. insert ... on duplicate key update А не обновляя запись просто пропустить возможно. Если не сложно пример покажите пожалуйста Так как стоит задача. Проверить последние записи за день по полю title и если запись есть то просто пропустить ее и все. Если ее нет тогда добавить. если сделать так
не работает Это сообщение отредактировал(а) andreyka - 5.10.2008, 15:55 |
||||
|
|||||
| teroni |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 3 Всего: 22 |
Можно сделать поле title уникальным и вставлять данные с помощью
Тогда если запись с таким title уже есть в базе - то она просто не вставится второй раз. Если же надо учитывать еще и дату - то тут сложнее. Есть 2 варианта: 1) Делать 2 запроса... Первый
Если ничего не найдено - то добавлять новость. 2) Сделать уникальное поле `unik` в которое вставлять некоторую функцию от даты и названия новости. Например $unik = md5($title . date("d.m.Y")); Делать 1 запрос с INSERT IGNORE:
|
||||||
|
|||||||
| andreyka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 4.11.2006 Репутация: нет Всего: нет |
UNIQUE добавил теперь надо добавить поле date и делать чтоб датабыла не меньше одного дня или 24 часов. Как проще это сделать? Спасибо всем за помощь. |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 2 Всего: 89 |
Для таких случаев рекомендую использовать crc32 т.е. мускулу проще сравнить число, чем 32значную строку. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |