Leaderboard
Popular Content
Showing content with the highest reputation on 11/21/2013 in Posts
-
Из рунетовских источников тут можно посмотреть. Еще неплохо про CSS анимации написано на javascript.ru. Из англоязычных, можно почитать, например, тут.2 points
-
Так вы же сами добавили блок clear между сайдбаром и контентом, он все и портит! Уберите его и все будет прекрасно! Его используют наоборот чтобы запретить обтекание!1 point
-
Вот теперь я всецело понимаю почему Дефолт-сити называется именно так.1 point
-
1 point
-
if (isset($_SESSION['auth']) AND ($_SESSION['level'] == 1)) //Проверка, авторизован ли пользователь и какими правами доступа обладает {}elseif (isset($_SESSION['auth'])) {}else {}Тут можно чуть облегчить понимание кода, убрав повторяющееся условие if (isset($_SESSION['auth'])){if ($_SESSION['level'] == 1) {}else {}}else {}А ещё не нужно писать $_POST[password], потому что контанта password наверняка не определена. Такое прокатывает в Perl. Вот же, про кавычки знаешь, но почему-то тут же забываешь. Или где-то всё же есть константы, просто не показаны?С заменой || и && на or и and нужно быть поаккуратнее, если делаешь это не сознательно, потому что приоритет у "буквенных" оператров ниже, чем у присваивания и тернарного оператора, тогда как у || и && — выше.1 point
-
Ну вот так, например: SELECT -- Получаем все характеристики отобранных товаров t2.*FROM ( -- Выбрать неповторяющее множество ид товаров по заданным характеристикам. -- Причем только те, у которых имеются все перечисленные характеристики. SELECT virtuemart_product_id, count(*) AS eqvcnt FROM virtuemart_product_customfields WHERE -- Если еще нужно добавить критерии отбора, просто воткнуть еще одно условие -- OR (custom_value='*****' AND t2.virtuemart_custom_id=****) и увеличить значение в -- HAVING на 1 (virtuemart_custom_id=1 AND custom_value='1') OR (virtuemart_custom_id=2 AND custom_value='2') GROUP BY virtuemart_product_id HAVING eqvcnt = 2) t1INNER JOIN virtuemart_product_customfields t2 USING(virtuemart_product_id);-- илиSELECT t2.*FROM ( SELECT virtuemart_product_id, count(*) AS eqvcnt FROM virtuemart_product_customfields WHERE (virtuemart_custom_id=1 AND custom_value='1') OR (virtuemart_custom_id=2 AND custom_value='2') GROUP BY virtuemart_product_id ) t1InNER JOIN virtuemart_product_customfields t2 ON t1.virtuemart_product_id = t2.virtuemart_product_id AND t1.eqvcnt = 2Первый запрос, думаю, будет по оптимальней. Проверяйте на реальных данных.1 point
-
Совет: как по мне лучше так не "писать": SELECT DISTINCT(virtuemart_product_id) FROM #__virtuemart_product_customfieldsЛучше писать DISTINCT как модификатор к SELECT, а не как агригирующую функцию, в плане результата разницы нет абсолютно никакой, но так, я считаю, будет более корректно: -- ваш случайSELECT DISTINCT virtuemart_product_id FROM #__virtuemart_product_customfields;-- илиSELECT DISTINCT c1, c2, c3 FROM t;1 point
-
Крайне трудно понять смысловую нагрузку запроса. Вот ТУПО переписанный запрос без вложенного подзапроса: SELECT DISTINCT t2.virtuemart_product_idFROM ( SELECT DISTINCT virtuemart_product_id FROM #__virtuemart_product_customfields WHERE custom_value='ACURA' AND virtuemart_custom_id=4) t1LEFT JOIN #__virtuemart_product_customfields t2 ON t1.virtuemart_product_id = t2.virtuemart_product_idWHERE t2.custom_value='1997' AND t2.virtuemart_custom_id=3А если предположить, что есть таблица товаров и таблица дополнительных характеристик этих товаров и нужно получить неповторяющуюся выборку всех характеристик товаров, по нескольким характеристикам, тогда вот как-то так можно: SELECT -- Получаем все характеристики отобранных товаров t2.*FROM ( -- Выбрать неповторяющее множество ид товаров по заданным характеристикам. SELECT DISTINCT virtuemart_product_id FROM #__virtuemart_product_customfields WHERE (custom_value='ACURA' AND virtuemart_custom_id=4) OR (custom_value='1997' AND t2.virtuemart_custom_id=3) -- Если еще нужно добавить критерии отбора, просто воткнуть еще одно условие -- OR (custom_value='*****' AND t2.virtuemart_custom_id=****)) t1LEFT JOIN #__virtuemart_product_customfields t2 ON t1.virtuemart_product_id = t2.virtuemart_product_id1 point
-
Кто-то еще верстает под IE6? Я бы забил на это дело, и нашел нормального заказчика/студию. По-вашему если я ставлю доктайп, то обязан использовать эти теги? Можно об этом где-то почитать?1 point
-
transition надо добавлять не к hover, а к самому элементу, тогда плавно возвращаться будет обратно. Ну и крутиться не должно, просто плавно выезжать слева.1 point
-
Ну если у вас база используется только для вывода — тогда да, прямая (как одноименная кишка, которая тоже используется только для вывода). Но если вам понадобится в этой базе, например, название «ООО "ЫЫЫ"», или отсортировать поле с такими названиями — кодирование/раскодирование этих символов выльется в много лишних действий, доставляющих неудобства, сравнимые с болью в... ну вы поняли). Это у вас единственный запрос во всем приложении? Запросов вида SELECT * FROM `goods` ORDER BY `price` LIMIT $startFrom, 20 у вас точно нет? И никогда не будет? А сложных запросов с джойнами? А поисков с LIKE? Нельзя считать подход, затыкающий проблему в одной частной задаче, решением проблемы вообще. Как не является решением «засобачивание» сообщения об ошибке в php. Решение проблемы иньекций (и вообще надежности работы с базой) — соблюдение правил синтаксиса SQL (разных для данных и для команд). Символы ", равно как < и т.п., имеют к нему отношение чуть менее чем никакое.1 point
-
для начала скажу что я - против чужих cms и фреймворков, но! 1) шансы на то что бы ломать ваш сайт - ничтожно малы, если только он не популярный ресурс, или тупо заказ от конкурента. 2) опять же, быстрота воплощения, т.е. модульность системы и что-то уже готовое. есть разница, когда сделать надо быстро? 3) поддержка - а вдруг вы рассоритесь с клиентом, а маны на ваш код нету, что будет делать с ним следующий разраб? 4) вы уверенны в том что пишите код правильно и безопасно? все же популярные инструменты написаны не одним человеком...1 point
-
Я в свое время писал диплом на тему "Система контроля и мониторинга основных показателей учебного процесса". Идея в том, что бы создать веб-приложение для десктопов и мобильных устройств. Я писал на Node.JS+MySQL. Приложение позволяет быстро получать доступ к расписанию, избавиться от бумажных вариантов зачеток, журналов (групп студентов и преподавателей), ведомостей и прочего барахла. Темы связанные с учебным процессом, кончено, весьма скользкие но если правильно преподнести и преподы адекваты, то можно получить высокий бал при должном исполнении. А скользкие потому что иногда люди с учеными степенями очень болезненно воспринимают новые интересные идеи, которые придумали не они, а уж тем более студент. Так что тут игра на грани, на самом деле. Но я был очень хорошим студентом и мог себе позволить это и получил свой красный диплом Если вдруг решишь брать подобную тему, совет: сразу отходи от табличного представления данных на экране, как это принято в бумажных вариантах. Это существенно упростит и задачу и удобство использования полученного приложения. Точнее таблицы конечно будут, но там будут сугубо персонализированные данные, а следовательно не много, что в свою очередь можно красиво и компактно оформить. Вот так вот отдал идею на которой можно было бы и денег заработать, какой я добрый1 point
-
Начнем с того, от чего именно мы хотим защититься. В данном случае, как я понимаю, от XSS?1 point
-
1 point
-
-1 points
This leaderboard is set to Kiev/GMT+02:00
-
Upcoming Events
No upcoming events found -
Сообщения форума
-
Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение. .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }
-
Нужны сайты с примерами верстки, типа https://css-tricks.com/. Типовые приемы и нестандартные на все случаи жизни. Накидайте ссылок.
-
By Katerina23 · Posted
Да, подходит. Спасибо. -
<input type="number">
-
By Katerina23 · Posted
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке. Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
-