|
|
|
|
|
для: moonfox
(15.06.2014 в 14:27)
| | >у чела заголовок служит kw
>а вы беспокоитесь о записи в БД
>да еще и через запятые))))
>накой хрен)))))))
>
>если он так парится о kw
>то в админке при правке страницы снизу идут 3 поля title keys descr
>и в них без всяких запитых записывается строка для meta
>в счлучае когда там пусто выводится в title kw и descr - сам заголовок весь как есть
Согласен на все 100%, НО бывает такая ситуация когда материал добавляют юзеры сайта, тогда есть вероятность, что в заголовках они укажут больше кейвордов, чем если бы их попросить написать в отдельном поле к своему материалу, хоть и вероятность уже и достаточно ничтожна.
А так все-таки хотелось помочь топик-стартеру найти оптимальное решение его задачи. | |
|
|
|
|
|
|
|
для: tvv123456
(15.06.2014 в 11:07)
| | у чела заголовок служит kw
а вы беспокоитесь о записи в БД
да еще и через запятые))))
накой хрен)))))))
если он так парится о kw
то в админке при правке страницы снизу идут 3 поля title keys descr
и в них без всяких запитых записывается строка для meta
в счлучае когда там пусто выводится в title kw и descr - сам заголовок весь как есть | |
|
|
|
|
|
|
|
для: Commander
(13.06.2014 в 07:19)
| | >А что мешает тем же str_replace() экранировать запятые в них? Или заменить запятые, ну, к примеру, двойными запятыми?
Что за чушь? зачем что-то экранировать и добавлять в кейворды лишние символы?
Я имел ввиду, что когда вы замените пробелы запятыми, то могут получиться всякие некрасивые кейворды типа слово2,",слово2,",слово3,,слово4;,;,слово5 и т.п. А предлоги тоже отдельным кейвордом будут? все таки str_replace не для этого случая, а получив все слова в массиве при помощи preg_match_all, можно использовать implode(",", $array) и все получится красиво и без всякого мусора. | |
|
|
|
|
|
|
|
для: tvv123456
(12.06.2014 в 21:55)
| | А если в title используются знаки препинания и кавычки?
А что мешает тем же str_replace() экранировать запятые в них? Или заменить запятые, ну, к примеру, двойными запятыми? | |
|
|
|
|
|
|
|
для: Commander
(06.06.2014 в 20:59)
| | А если в title используются знаки препинания и кавычки?
Может лучше использовать preg_match_all, выбирая слова [А-я] {3,15}? - Единственное наверное лучше тогда keywords хранить в БД, а не использовать preg_match_all каждый раз когда запрашивается страница. | |
|
|
|
|
|
|
|
для: tvv123456
(06.06.2014 в 22:37)
| | Как правильно заметили ниже, значение $result может быть равно resource, true (для запросов типа INSERT, UPDATE...) или false.
Т.е. в данном случае, чтобы просто убедиться, что запрос был корректно выполнен, достаточно проверки:
т.к. resource == true и true == true. Или, с проверкой типа данных:
<?php
if ($result !== false)
|
| |
|
|
|
|
|
|
|
для: tvv123456
(08.06.2014 в 20:58)
| | Принцип ясен. Но $result === true работать не будет. Потому что $result == true, но тип данных не совпадает. | |
|
|
|
|
|
|
|
для: Commander
(06.06.2014 в 22:59)
| | Прошу прощения.
Думаю согласитесь, что принцип тот же
бла-бла !==false
сами сказали: либо false либо значение | |
|
|
|
|
|
|
|
для: tvv123456
(06.06.2014 в 22:37)
| | а вот не надо так как раз писать, лучше:
а то всякое бывает :)
если переменная может принимать только false и true, то и сравнивать лучше бы с ними, а то и "-1", для php true, да и "0" в вашем случае может дать неожиданный результат/
Не выйдет. Если вы посмотрите код, то увидите, что переменная $result содержит в себе значение, возвращаемое функцией mysql_query(). А это либо false, либо ресурс, который !== true. | |
|
|
|
|
|
|
|
для: Commander
(06.06.2014 в 20:59)
| | >Кстати, вместо
<?php
>if ($result == 'true')
|
>надо написать
а вот не надо так как раз писать, лучше:
а то всякое бывает :)
если переменная может принимать только false и true, то и сравнивать лучше бы с ними, а то и "-1", для php true, да и "0" в вашем случае может дать неожиданный результат/ | |
|
|
|
|