nomarketing

nomarketing
Рейтинг
198
Регистрация
23.09.2009
Egoistik:
а не проще вносить правки в том же нотпаде и в случаи чего просто вернуть изменения ?

Нет, к примеру, я сделал обновление во многих местах, можно сказать дописал не много функций и так далее. А их ооочень много :) т.е скажем усовершенствованная версия сайта. Вообщем нужно как то тестировать перед запуском, но что бы старая версия работала. И только после того как протестирую новую, смогу обновить. Просто у меня раньше было так, я обновлял, но потом замечал много ошибок и так далее, то настройки на сервере не подходили и приходилось переписывать функции некоторые и т д.. А так я бы проверил как то.. и потом уже закачал и все

---------- Добавлено 26.01.2015 в 14:59 ----------

nomarketing:
Нет, к примеру, я сделал обновление во многих местах, можно сказать дописал не много функций и так далее. А их ооочень много :) т.е скажем усовершенствованная версия сайта. Вообщем нужно как то тестировать перед запуском, но что бы старая версия работала. И только после того как протестирую новую, смогу обновить. Просто у меня раньше было так, я обновлял, но потом замечал много ошибок и так далее, то настройки на сервере не подходили и приходилось переписывать функции некоторые и т д.. А так я бы проверил как то.. и потом уже закачал и все

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

strefapl:
Подумаете, конечно же, что реклама, но я реально красотою сражен.
С помощью какого сервиса, скрипта или шаблона можно сделать вот такую красоту? http://contextbar.ru/#/start
Я имею в виду, когда кликаешь пробел - и текст меняется. Не знаю, как словами объяснить поэтому просто ссылочку даю.

Где он меняется то ? 😡

И что там за шаб недодизайнили 😂

Если там не найдете меняющегося текста, тогда афтар, хитрый рекламщик :)

siv1987:
Если хотябы один байт отличается - значит тайтлы не одинаковые. Ну если вам этого не достаточно, тогда извеняйте, пишите свой супер мега алгоритм или городите костыли для лишних точек, букав, слов и прочее.

Не обостряйте, обойдемся без агрессии :) как говорил карлсон, спокойствие, только спокойствие :)

siv1987:
А что еще нужно проверки уникальности значения? По моему здесь все ясно как божий день.

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

Вообщем я так понял надо базироваться не только по тайтлу тогда..

siv1987:
Уже сто раз советовали.

Ну вы советовали функцию сделать.. какую функцию ?

В том плане, что она должна делать ?

Делать запрос к бд, и на сущестованией тайтла ?

Если только это тогда ок

А так спасибо за помощь :)

siv1987:
Для этого первый пункт не нужен.


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

Спасибо за приме выше с IS NULL нашел способ естесвенного отбора.

А что посоветуете на счетй тайтлов ? вообщем в действительности есть много постов с одинаковыми тайтлами, но с разным описанием..

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

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

естесвенно без супернагрузок на бд

siv1987:
В будущем, прежде чем вставлять, проверяйте уникальность значения в бд. UNIQUE INDEX больше подходит для полей которые действительно должны быть уникальными - ид, ключи и пр, тайтл это не совсем то поле. Для удаления используйте пример с первой страницы, для вставки - создайте функцию checkTitle($title) которая будет проверять уникальность тайтла.


Нет. Таблицы используйте те, которые у вас связаны с этой.


Пример показан выше.
select t.* from table t left join table_with_title z ON z.id=t.id WHERE z.id IS NULL
table_with_title - таблица с тайтлами.
table - связанная таблица

Щас попробую ваш пример,

Вопрос на счет проверки тайтла, (я думал сделать проверку таким образом)

1.Сначала уникализируем все тайтлы.

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

Все верно ? почему тайтл нельзя уникализировать ? (тогда как лучше посоветуйте)

siv1987:
А нахрена использовать UNIQUE INDEX для удаления дублей? Этот индекс имеет немного другое логическое значение.
Какие отсутствуют в таблице те и удалились. Какие ид отсутствуют можете узнать джоинив другую таблицу в которые есть связь с ними.

Да, я понимаю что опытный бы юзер понял все, который работает с бд не мало времени :)

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

1. Что использовать вместо ? UNIQUE INDEX ? (Мне нужно что бы в будущем нельзя было вставить один и тот же тайл, поэтому я и решил использовать уникальный индекс.. тем самым удалив дубли)

2.Получается мне нужно сделать две копии таблицы tbl_name и tbl_name_tmp, потом в одной из них, удалить дубликаты, а потом что ? как сделать такое джоин или что там что бы показал какие айди были удалены ?

SeVlad:
Мб. Но на всяк случай попробую пояснить.
Связи типа "многие-ко-многим" требуют промежуточную таблицу.

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

Проще говоря по БД может не быть видно что значение в поле ID_metadata в таблице tbl_meta тоже самое, что и в поле ID_post в таблице tbl_content.
И это не самый сложный случай. Бывает, что к ИДшику поста "подязываются" данные из нескольких таблиц, при этом не по ИД поста, а через одно или несколько промежуточных данных.

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

Просто если бы я знал эти айди я бы мог удалить все айди с другой таблицы.

siv1987:
delete + left join `another_table`
or
delete t from table t left join table_with_title z ON z.id=t.id WHERE z.id IS NULL

А как быть с дубликатами то ?

Я не пойму одну вещь, как при удалении дубликатов отследить айди постов которые удаляются ?

Ну к примеру

ALTER IGNORE TABLE tbl_name ADD UNIQUE INDEX(title);

в tbl_name есть row > id

Вот при удалении, как узнать какой id удалился ?..

Может я не правильно как то логически себе это представляю..

Всего: 764