-
PHP для идиотов
→ Создание drag and drop html-редактора. • Дек. 18, 2011, 2:41 п.п.
-
PHP для идиотов
→ Создание drag and drop html-редактора. • Дек. 18, 2011, 2:10 п.п.
Если остановиться на сохранении контента в html-странице просто текстом, то тогда очень много придется использовать регулярных выражений для поиска и изменения атрибутов тегов, добавления новых параметров, переноса одних html-элементов в другие и т.д. и т.п. Потеряются все преимущества работы с б...
Если остановиться на сохранении контента в html-странице просто текстом, то тогда очень много придется использовать регулярных выражений для поиска и изменения атрибутов тегов, добавления новых параметров, переноса одних html-элементов в другие и т.д. и т.п. Потеряются все преимущества работы с базами данных, с выборками однотипных элементов, установкой ограничений допуска пользователей к редактированию контента. Зато появляется одно единственное преимущество - простота контроля сохраненных страниц, в том числе и как шаблонов. А также весьма упростится вставка пользовательского html-кода.
Если же использовать базы данных, то придется видимо очень долго ломать голову, чтобы предусмотреть все возможные варианты атрибутов и их значений для html-элементов, таких как float, position, display, visibility, таблицы с контентом станут избыточными, а если не предусмотреть все варианты, то сплошь и рядом будут ошибочные ситуации с отображением пользовательских html страниц. А главное - вставка пользовательского html в страницу станет сущим гемороем, так как получится создавать весьма нетривиальные запросы.
Что-то мне подсказывает что оба варианта не очень удачные….
-
PHP для идиотов
→ Создание drag and drop html-редактора. • Дек. 18, 2011, 1:32 п.п.
Программирую Drag&Drop HTML-редактор. Все необходимые действия по добавлению, редактированию, удалению контента методами javascript запрограммировал. Встал вопрос о сохранении результатов работы в html-страницу, на котором я застрял. Задача весьма нетривиальная. Собственно, как известно, напр...
Программирую Drag&Drop HTML-редактор.
Все необходимые действия по добавлению, редактированию, удалению контента методами javascript запрограммировал. Встал вопрос о сохранении результатов работы в html-страницу, на котором я застрял. Задача весьма нетривиальная.
Собственно, как известно, напрямую из javascript сохранить результат работы в html файл невозможно.
Остается ajax+php. Как мне видется возможным сохранение контента:
1 вариант. При добавлении контента новый контент добавлять в таблицы mysql, организованные соответственно типу данных:
tables, divs, images, texts, forms.
При перенесении контента из одного места в другое менять родительский id. Получится организация объектов по виду древа.
2 вариант. Посла каждого изменении на страничке отправлять аяксом весь html сразу и хранить в одном файле.
Другие варианты ???
Как будет организовать гибче, проще?
-
Базы данных
→ Сложный запрос • Дек. 3, 2011, 2:38 п.п.
-
Базы данных
→ Получить дамп базы данных в случае отсутствия доступа к phpmyadmin • Ноя. 14, 2011, 5:02 п.п.
-
Базы данных
→ Получить дамп базы данных в случае отсутствия доступа к phpmyadmin • Ноя. 14, 2011, 4:19 п.п.
-
Базы данных
→ Получить дамп базы данных в случае отсутствия доступа к phpmyadmin • Ноя. 14, 2011, 4:02 п.п.
Итак, стоит задача получить дамп базы данных в случае отсутствия доступа к phpmyadmin на сайте.Нет желания давать владельцам сделанного сайта доступ к phpmyadmin через CPANEL на хостинге, ибо у меня там множество других сайтов привязано, а владельцы сайта изъявили большое желание иметь резервную ...
Итак, стоит задача получить дамп базы данных в случае отсутствия доступа к phpmyadmin на сайте.
Нет желания давать владельцам сделанного сайта доступ к phpmyadmin через CPANEL на хостинге, ибо у меня там множество других сайтов привязано, а владельцы сайта изъявили большое желание иметь резервную базу, так как панически боятся падений сайтов и прочее, в общем, хотят подстраховаться. Каждую неделю/каждый день отсылать собственноручно сделанный дамп им на мэйл тоже не хочется.
Пробовал скриптом вызывать утилиту mysqldump через админку. На локалхосте все отлично, а на хостинге запрещены функции вызова утилит. Ни system ни passthrow не работают. Хостер отказался по просьбе их активировать, мол, небезопасно это.
Какие еще могут быть варианты, коллеги, поделитесь опытом.
-
Базы данных
→ Выборка n случайных товаров из категорий. • Ноя. 3, 2011, 4:25 п.п.
-
Базы данных
→ Выборка n случайных товаров из категорий. • Ноя. 3, 2011, 4:12 п.п.
LLIMIT? оОНет, limit мне просто ограничит выборку в целом, а нужно ограничить выбираемое количество товаров из всех категорий.При n=4, например,выборка SELECT * FROM products GROUP BY category_id, product_id LIMIT n приведет к тому, что я получу из первой категории 4 товара и 0 из всех остальных.
LLIMIT? оО
Нет, limit мне просто ограничит выборку в целом, а нужно ограничить выбираемое количество товаров из всех категорий.
При n=4, например,
выборка SELECT * FROM products GROUP BY category_id, product_id LIMIT n приведет к тому, что я получу из первой категории 4 товара и 0 из всех остальных.
-
Базы данных
→ Выборка n случайных товаров из категорий. • Ноя. 3, 2011, 3:52 п.п.
-
Базы данных
→ Бутерброд из вложенных запросов, не могу прожевать несколько AND и IN подряд. • Авг. 3, 2011, 1:45 п.п.
-
Базы данных
→ Бутерброд из вложенных запросов, не могу прожевать несколько AND и IN подряд. • Авг. 3, 2011, 1:03 п.п.
ТО есть, берем $session_id, определяем у нее start_time и end_time, определяем те записи, какие пересекаются по времени с текущей, сравниваем с теми session_id, на которые записан текущий клиент client_id, отнимаем из полученного списка текущую session_id (мы ее итак знаем) и выдаем названия услу...
ТО есть, берем $session_id, определяем у нее start_time и end_time, определяем те записи, какие пересекаются по времени с текущей, сравниваем с теми session_id, на которые записан текущий клиент client_id, отнимаем из полученного списка текущую session_id (мы ее итак знаем) и выдаем названия услуг name, на которые есть запись по всем найденным session_id
Спустя 116 сек.
Я не понял, а нафига третья таблица?
Что мешает в sessions сразу id клиента писать? Спустя 107 сек.
И еще, открой для себя JOIN
Дело в том, что клиентов может быть несколько в одной записи. Групповые записи на услуги. То есть тут связь один ко многому, поэтому заведена таблица client_sessions.
-
Базы данных
→ Бутерброд из вложенных запросов, не могу прожевать несколько AND и IN подряд. • Авг. 3, 2011, 12:50 п.п.
Помогите разобраться со сложным запросом с большим количеством подзапросов, уже потратил 2 часа и наверное не один день без помощи над ним промучаюсь) Суть - нужно выбрать все услуги, в которые записан клиент одновременно в определенный промежуток времени. category - таблица услуг: name - названи...
Помогите разобраться со сложным запросом с большим количеством подзапросов, уже потратил 2 часа и наверное не один день без помощи над ним промучаюсь)
Суть - нужно выбрать все услуги, в которые записан клиент одновременно в определенный промежуток времени.
category - таблица услуг: name - название услуги, sid - идентификатор услуги.
sessions - таблица записей: service_id - идентификатор услуги в ней, start_time - время начала оказания услуги, end_time - время окончания оказания услуги, session_id - идентификатор записи.
client_sessions - таблица связи клиентов и записей. client_id - идентификатор клиента, session_id - идентификатор записи.
SELECT name FROM category WHERE sid IN
(
SELECT DISTINCT service_id FROM sessions WHERE session_id IN
(
SELECT session_id FROM sessions WHERE
(
(
start_time<=(SELECT start_time FROM sessions WHERE session_id='$session_id')
AND end_time>=(SELECT start_time FROM sessions WHERE session_id='$session_id')
)
OR
(
start_time<=(SELECT end_time FROM sessions WHERE session_id='$session_id')
AND end_time>=(SELECT end_time FROM sessions WHERE session_id='$session_id')
)
OR
(
start_time>=(SELECT start_time FROM sessions WHERE session_id='$session_id')
AND end_time<=(SELECT end_time FROM sessions WHERE session_id='$session_id')
)
OR
(
start_time<=(SELECT start_time FROM sessions WHERE session_id='$session_id')
AND end_time>=(SELECT end_time FROM sessions WHERE session_id='$session_id')
)
)
)
AND session_id<>'$session_id'
AND session_id IN
(
SELECT session_id FROM client_sessions WHERE client_id='$client_id'
)
)
Вот такой запрос возвращает какие-то услуги, но не те, какие нужно вернуть, что-то у него с логикой (со скобками) не так….
-
Базы данных
→ Реализация взаимооотношений пользователей. • Июль 17, 2011, 1:52 п.п.
Такой вопрос возник при размышлениях на досуге. Как организована система контроля взаимоотношений пользователей в социальных сетях на уровне базы данных. Конечно, реализации могут разниться, но в целом существует определенный наиболее рациональный шаблон. Вариант, где для текущего id вписываются ...
Такой вопрос возник при размышлениях на досуге. Как организована система контроля взаимоотношений пользователей в социальных сетях на уровне базы данных. Конечно, реализации могут разниться, но в целом существует определенный наиболее рациональный шаблон.
Вариант, где для текущего id вписываются через разделитель id пользователей в такие поля как friend_list, black_list и прочее, а потом при выводе парсятся, сразу отпал, ибо это индусский подход.
Видется наиболее рациональным введение таблички вида:
User1_id User2_id User1_stat User2_stat
1 2 1 1
1 3 1 1
1 4 1 0
1 5 0 1
2 3 1 0
и т.д.
Тогда выборка друзей пользователя ID 1 сводилась бы к SELECT User2_id FROM user_relations WHERE user1_id=1 AND USER2_id<>1 AND User1_stat=1 AND User2_stat=1
А выборка черного списка сводилась бы к такому SELECT User2_id FROM user_relations WHERE user1_id=1 AND USER2_id<>1 AND User1_stat=2
При условии, что, например 1 - статус добавленного в друзья, 0 - статус запроса в друзья, 2 - статус черного списка.
Насколько мой подход правильный?
-
Верстка и оформление
→ Центрирование иерархического дерева • Июль 11, 2011, 4:47 п.п.
я так и не понял, что хочет от нас тс))если сделать как на картинке, то тему в хтмл+цсс, если нет, то нихуя не понятно XDDРазобрался. Понял, что могу при нынешнем механизме обработки массива данных получить желаемую визуализацию. Тему в хтмл+цcc можно.Кстати, отменный плагинчик для создания связе...
я так и не понял, что хочет от нас тс))
если сделать как на картинке, то тему в хтмл+цсс, если нет, то нихуя не понятно XDD
Разобрался. Понял, что могу при нынешнем механизме обработки массива данных получить желаемую визуализацию. Тему в хтмл+цcc можно.
Кстати, отменный плагинчик для создания связей между категориями нашел,
http://jsplumb.org/jquery/demo.htmlБуду прикручивать.
-
Верстка и оформление
→ Центрирование иерархического дерева • Июль 11, 2011, 12:52 п.п.
-
Верстка и оформление
→ Центрирование иерархического дерева • Июль 11, 2011, 12:36 п.п.
Поделитесь соображениями, как можно центрировать по экрану иерархическое дерево, которое сейчас выводится в виде тегов списка (Ul, Li). Необходимо вводить отдельное поле в таблицу - уровень вложенности, или же можно расчитывать его как-то в скрипте? На данный момент вывод осуществляется рекурсивн...
Поделитесь соображениями, как можно центрировать по экрану иерархическое дерево, которое сейчас выводится в виде тегов списка (Ul, Li). Необходимо вводить отдельное поле в таблицу - уровень вложенности, или же можно расчитывать его как-то в скрипте? На данный момент вывод осуществляется рекурсивной функцией. Таблица имеет вид (id, parent_id, name);
-
Базы данных
→ Выборка столбцов с определенным значением • Июль 8, 2011, 7:25 п.п.
SELECT cp_1, cp_2, cp_3, cp_4, cp_5 WHERE cp_1=1 AND cp_2=1 AND cp_3=1 AND cp_4=1 AND cp_5=1 AND id=… - так?Такой запрос вернет результат только в том случае, если все поля равны 1, а у меня в моей таблицы нет таких строк. Не катит.
SELECT cp_1, cp_2, cp_3, cp_4, cp_5 WHERE cp_1=1 AND cp_2=1 AND cp_3=1 AND cp_4=1 AND cp_5=1 AND id=… - так?
Такой запрос вернет результат только в том случае, если все поля равны 1, а у меня в моей таблицы нет таких строк. Не катит.
-
Базы данных
→ Выборка столбцов с определенным значением • Июль 8, 2011, 6:07 п.п.
-
Базы данных
→ Выборка столбцов с определенным значением • Июль 8, 2011, 5:59 п.п.