PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (25): В начало « ... 7 8 9 10 [11] 12 13 14 15 ... » В конец

> Найдено сообщений: 374
VestCoastman Отправлено: 08 Августа, 2013 - 15:36:51 • Тема: Хранение и парсинг BB-кодов • Форум: Вопросы новичков

Ответов: 14
Просмотров: 560
Мелкий пишет:
VestCoastman пишет:
Не совсем понял суть

Суть - держите 2 поля в таблице. Одно - исходное сообщение, второе - обработанное и пригодное к немедленному выводу.

А для чего хранить обработанное? Если на выводе его ждет htmlspecialchars(), которая не позволит выводить html
VestCoastman Отправлено: 08 Августа, 2013 - 14:53:12 • Тема: Хранение и парсинг BB-кодов • Форум: Вопросы новичков

Ответов: 14
Просмотров: 560
DeepVarvar пишет:
Сделать в базе два поля - одно с сорцом, который будет редактироваться, если понадобится, другой уже с пропарсеными данными - эти будут выводиться на страницу.
Так будет минимальная нагрузка и максимальное удобство.
А на то что БД чутка вырастет в размерах можно наплевать.

Не совсем понял суть(структуру построения), но меня это заинтересовало, т.к. стремлюсь к минимальной нагрузке.
Мелкий пишет:
Какая проблема, если у вас BB?
Делаете htmlspecialchars, обрабатываете BB. Никакой проблемы.

Ну да, чуть-чуть ошибся, но в таком случае, нагрузка будет огромная, это ж пока одно сообщение preg_replace, пока другое. А если сообщений, например, 50 на странице? Ниндзя
VestCoastman Отправлено: 08 Августа, 2013 - 04:06:30 • Тема: Хранение и парсинг BB-кодов • Форум: Вопросы новичков

Ответов: 14
Просмотров: 560
Как правильней обращаться с бб кодами?
1. Парсить при отправке в базу
- т.е. в базу идет html

2. Парсить при выводе
- т.е. в базу идут бб коды

В обеих случаях появляется проблема с htmlspecialchars(), что делать с этой функцией, ведь нужна защита от xss.
VestCoastman Отправлено: 06 Августа, 2013 - 17:50:45 • Тема: No such file or directory БЕЗ WARNING • Форум: Вопросы новичков

Ответов: 14
Просмотров: 994
А файл то там вообще присутствует? И действительно ли в "fe stival" есть пробел?
PHP:
скопировать код в буфер обмена
  1. if(!file_exists('/home/pinguin1/pinguin.com.ua/fe stival/view/mainpage.php')){
  2.    echo "Not Exist";
  3. }else{
  4.    echo "Ok";
  5. }
VestCoastman Отправлено: 06 Августа, 2013 - 17:27:46 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
Дабы не создавать новую тему, подскажите, как в таком запросе сделать сортировку?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *
  2.         FROM `sections`
  3.         LEFT JOIN `categories`
  4.                  ON `sections`.id = `categories`.sid
  5.         WHERE   `categories`.id = '2'
  6.                 AND `sections`.access <= '10'
  7.                  AND `categories`.access <= '10'


Естественно пробовал дописать в конце order by, вернуло пустой результат.
(Добавление)
Всё, нашел ошибку)
VestCoastman Отправлено: 06 Августа, 2013 - 17:23:30 • Тема: No such file or directory БЕЗ WARNING • Форум: Вопросы новичков

Ответов: 14
Просмотров: 994
Возможно отсутствует слеш в конце
define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT']);
- define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT'].'/');
VestCoastman Отправлено: 05 Августа, 2013 - 13:22:00 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
imya пишет:
В чём вы сомневаетесь? Запрос корректный Улыбка

Ясно. Спасибо.
Просто усвоил для себя правило, что если код рабочий, то это не всегда значит, что он написан правильно.
VestCoastman Отправлено: 05 Августа, 2013 - 04:07:48 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
Получилось составить запрос.
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *
  2. FROM sections
  3. LEFT JOIN categories
  4.         ON sections.id = categories.sid
  5. LEFT JOIN topics
  6.         ON categories.id = topics.cid
  7. WHERE topics.access <= 10
  8.         AND sections.access <= 10
  9.         AND categories.access <= 10

Со стороны php всё выводится как хотелось, но со стороны правильности сомневаюсь.
Верен ли запрос, если учесть критерии выше?
VestCoastman Отправлено: 05 Августа, 2013 - 02:54:17 • Тема: регулярка из js в пхп • Форум: Регулярные выражения

Ответов: 3
Просмотров: 249
PHP:
скопировать код в буфер обмена
  1. /[^a--яё0-9._()\u005B\u005D\s-]/i
VestCoastman Отправлено: 04 Августа, 2013 - 23:33:53 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
imya пишет:
Получается в одной категории\секции несколько тем, тогда так:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *
  2. FROM topics
  3. LEFT JOIN sections
  4.         ON sections.id = topics.sid
  5. LEFT JOIN categories
  6.         ON categories.id = topics.cid
  7. WHERE topics.access <= 10
  8.         AND sections.access <= 10
  9.         AND categories.access <= 10

Выводится информация из категорий, а тех полей, которых нету в categories, берутся из topics, а должно всё выводиться из topics. Примерно вот так - http://i[dot]imgur[dot]com/xxqGP81.png
VestCoastman Отправлено: 04 Августа, 2013 - 23:13:05 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
imya пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *
  2. FROM topics
  3. JOIN sections
  4.         ON sections.id = topics.sid
  5. JOIN categories
  6.         ON categories.id = topircs.cid
  7. WHERE topics.access <= 10
  8.         AND sections.access <= 10
  9.         AND categories.access <= 10


Проверьте, пожалуйста.


Выводит, дважды, название одной категории, т.е. title, а должны выводиться топики.
Скниншот запроса в sql - http://i[dot]imgur[dot]com/FzF0CWd.png
VestCoastman Отправлено: 04 Августа, 2013 - 22:50:19 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
Под связями я предполагаю определенные идентификаторы связи одного поля с другим? Они есть. (Форумная структура)

sections
id | title | access

categories
id | title | access | sid

topics
id | title | access | sid | cid

sid,cid - sections id,categories id соответственно.

Нужно выбрать все поля из таблицы topics где access <= 10 как в таблице topics, так и в таблицах categories, sections.
VestCoastman Отправлено: 04 Августа, 2013 - 21:25:57 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
EuGen пишет:
Тогда делать JOIN по основному условию, а в WHERE добавить условия на неравенство

Не совсем понял. Можно пример? (В джоинах не разбираюсь)
VestCoastman Отправлено: 04 Августа, 2013 - 18:54:45 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
EuGen пишет:
Или следует уточнить, что значит "совпало" (ведь у Вас неравенство)

Т.е. если в таблице topics поле access меньше или равно 10, то и в таблицах sections и categories поле access должно быть так же меньше или равно 10
VestCoastman Отправлено: 04 Августа, 2013 - 18:45:10 • Тема: Джоины • Форум: Вопросы новичков

Ответов: 15
Просмотров: 578
Помогите составить запрос.
Есть 3 таблицы: sections, categories, topics.

Есть обычный запрос
PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query("SELECT * FROM topics WHERE access<='10' AND section='2'");

Поле access имеется так же в таблицах sections и categories.

Как переделать этот запрос так, используя JOIN, чтобы access<='10' совпадало и с таблицей sections и с таблицей categories?

Страниц (25): В начало « ... 7 8 9 10 [11] 12 13 14 15 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB