CoDy
User-
Posts
381 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Calendar
Store
Everything posted by CoDy
-
Это не совсем запрос. Но как вариант рассматривать можно. DELIMITER ; DROP TABLE IF EXISTS `test_table`; CREATE TABLE `test_table` ( `date_time` DATETIME NOT NULL, PRIMARY KEY (`date_time`) ); INSERT INTO `test_table` VALUES ('2000-01-01 00:00:00'), ('2000-01-01 00:01:00'), ('2000-01-01 00:02:00'), ('2000-01-01 00:05:00'), ('2000-01-01 00:06:00'), ('2000-01-01 00:07:00'); DELIMITER $$ DROP PROCEDURE IF EXISTS `test`$$ CREATE PROCEDURE `test` (IN time_interval INT UNSIGNED) BEGIN DECLARE done BOOL DEFAULT FALSE; DECLARE datetime_previous DATETIME DEFAULT NULL; DECLARE datetime_current DATETIME DEFAULT NULL; DECLARE cur CURSOR FOR SELECT `date_time` FROM `test_table`; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; CREATE TEMPORARY TABLE `temp_result` SELECT `date_time` FROM `test_table` LIMIT 0; OPEN cur; FETCH cur INTO datetime_previous; WHILE done = FALSE DO FETCH cur INTO datetime_current; IF UNIX_TIMESTAMP(datetime_current) - UNIX_TIMESTAMP(datetime_previous) > time_interval THEN INSERT INTO `temp_result` VALUES (datetime_previous), (datetime_current); END IF; SET datetime_previous = datetime_current; END WHILE; CLOSE cur; SELECT * FROM `test_table` WHERE date_time IN ( SELECT date_time FROM `temp_result` ); DROP TEMPORARY TABLE `temp_result`; END$$ DELIMITER ; SELECT * FROM test_table tt; CALL test(60);
-
Ситуация следующая: есть 2 простеньких сайта, посещаемость невысакая. На данный момент плата за хостинг под них: 4.9 USD/месяц. Хостинг отличный, сапорт 24/7, при возникновении потребности все вопросы решаются оперативно через онлайн чат. Недавно покопавшись нашел хостинг гораздо дешевле: от 1.5. до 2 USD/месяц. Вопрос: "означает ли, что дешевый хостинг будет некачественным"? Быть может есть такой опыт перехода на более дешевый хостинг? Если кто может из опыта посоветовать дешевый украинский хостинг, буду блангодарен.
-
Текст запроса покажите, который получается и подробнее об алгоритме поиска. Если нужно, чтоб в выборку попали строки где в столбцах title и text встречалось переданное значение, тогда запрос должен быть следующего вида: SELECT *FROM female_articlesWHERE title LIKE "%искать%" OR text LIKE "%искать%"Попробуйте подправить свой код следующим образом: $search = trim($search);$search = stripcslashes($search);$search = htmlspecialchars($search);$sql = 'SELECT * FROM female_articles WHERE title LIKE :search1 OR text LIKE :search2';$data = $pdo->prepare($sql);$data->bindValue (':search1', '%'. $search .'%');$data->bindValue (':search2', '%'. $search .'%');$data->execute();$row = $data->fetch();Для полей title и text желательно создать полнотекстовый индекс. При использовании в поисковом шаблоне оператора LIKE спец символа "%" в первой позиции, обычные индексы будут игнорироваться. -- использование индекса, созданного для столбца title невозможно-- желательно создать полнотекстовый индексSELECT * FROM female_articles WHERE title LIKE "%search%";-- будет использован индекс, созданный для столбца titleSELECT * FROM female_articles WHERE title LIKE "search%";
-
я и не говорил, что flash - это единственно возможный вариант. уверяю Вас, я не шизофреник
-
А как же анимированная банерная реклама(хоть это и "зло", но, как не крути, это неотъемлимая часть вэба), флеш 3d движки, на которых делают браузерные игры. В данный момент, я считаю, что вэб не ограничивается текстом, ссылками и медиаконтентом. Для "среднестатистического" сайта(визитка, магазин, форкм...), согласен флеш в принципе не нужен. Но вот для такого: http://www.thottbot.com/item=113874&bonus=0#modelviewer, флешь - это ОДИН из вариантов решения задачи. Или, например, всякого рода "мини" конструкторы или 3d вьюверы, - все эти задачи могут быть реализованы на флеше. А еще убейте среднестатистическому пользователю флаш-плеер на компе...
-
Найдите любые 10 web-хостинг провайдеров. И посмотрите какие технологии они предоставляют на своих хостингах. Как альтернативу php можно рассмотреть asp, java... А по поводу слухов. Я года 3-4 назад читаль статью, что flash - мертвая технология.
-
Что имеется ввиду под термином "многостраничник"?
-
<?php// Получить значение дня, месяца и года для формирования UTS// начала временного периода.list ($year, $month, $day ) = explode(',', date('Y,n,j'));$start = mktime(7, 0, 0, $month, $day, $year);// Продолжительность временного периода в секундах.$period = 14 * 60 * 60 + 30 * 60;// Текущее значение UTS.$now = time();if ( $now >= $start && $now <= $start + $period) { echo 'Мы в диатазоне с 7:00 до 21:30';}Код не отлаживал. Если будут ошибки - поправите. Суть, думаю, уловить можно. Дико извеняюсь не обратил внимание, что тпик в форуме по JS. // Текущее значение даты.now = new Date();// Получить значение начала временного периода.start = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 7);// Получить значение конца временного периода.end = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 21, 30);if ( now >= start && now <= end) { alert('Мы в диатазоне с 7:00 до 21:30');} else { alert('Мы вне диапазона с 7:00 до 21:30');}
-
Для стандартного компонента com_content: в материале есть "Параметры отображения материала" там есть настройка "Заголовок". Она имеет больший приоритет чем в меню и в дефолтовых настройках данного компонента. Выставить там скрывать.
-
Вот Вам пример урла, который может быть передан от пользователя: http://host.com/request?lang=../../../script/scripthttp://host.com/request?lang=../../../lib/scripthttp://host.com/request?lang=../../site/download/my_fileТаким образом Вашь скрипт позволит "лазить" по всем доступным закаулкам ФС, которые доступны пользователю от имени которого исполняется скрипт. От Вас хотят исключить возможность вставки спец символов(".","..","/"), которые позволят выйти за пределы папки где лежат языковые скрипты.
-
Это издевательство над MySQL-серверов в чистом виде. Создание(индексация) это довольно ресурсоемкая операция. На столько ресурсоемкая, что для некоторых движков таблиц реализованы механизм отложенного обновления индекса, который используют при работе с оч. большими массивами данных. Но именно благодаря наличию индекса выполнение сложного запрос может сократиться в десятки раз. Индекс должен создаваться во время проектирования структуры базы данных или на этапе ее эксплуатации. Индексы нужно создавать для: - полей, по которым быдет осуществлються выборка по условию - полей, которые будут использоваться для объединений
-
Для этого более чем достаточно экранировать(mysqli_real_escape_strin или addslashes) пользовательские данные и, в данном случае, обрамить их кавычками. Обычно пароль в запрос не вставляют. Получают выборки исключительно по логину и уже потом сравнивают полученный из выборки пароль с переданным. По поводу mysqli_prepare(это аналог MySQL команды PREPARE): его рекомендуют пользовать при выполнении нескольких запросов, которые отличаются значением параметров. Суть данной конструкции заключается в подготовке запрос к исполнению(разбор запроса и построение его плана исполнения), которое происходит один при подготовке, а при непосредственном выполнеии запросов этот этап опускается. В вашем случае в этом нет смысла ибо запрос выполняется один раз.
-
Что-то сильно скромный результат для такой маленькой таблицы. Интересно, в эту цыфру вошло время на открытие соединения. Индексы созданы для поля, какой тип данных, какой тип индекса используется?
-
Плохо искали. Готовых решений на эту тему оч. много. А влепить гифку в фон дляя инпута на время обработки запроса это дело нескольких минут. https://www.google.ru/search?hl=ru&btnG=1&pws=0&q=js%20autocomplete&gws_rd=ssl
-
Как TotalCopy меня в долги загнал:
-
Забудутся, 100% забудутся. Но останется глобальное понимание концепции (если, конечно, училась мат.часть, а не читались книги типа "cookbook for dummies"), что, я считаю, самым главным для ИТ-шника. Из личного опыта: не имея практики написания кода на протяжении более чем 1-2 месяцев (по причине участия в проекте с другим ЯП), забываются нюансы синтаксиса, но все это быстро востанавливается (достаточно просто просмотреть чужой листинг).
-
Как вариант, если производительность запроса сильно упадет. Тогда можно добавить к таблице новую колонку с интом, и дэфолтовым значением 0 и проиндексировать. И повесить триггер на таблицу, который будет "разбирать" строку, суммировать и результат писать в созданную колонку. Такой подход по идее будет полностью совместим со всеми алгоритмами наполнения и выборки данных из этой таблицы. Такой подход будет уместен, если данные в таблице меняются не сильно часто. И соотношение запись / чтение меньше 1(а лучше если близко к 0).
-
Регулярки довольно медленная штука, да и функционала регулярных выражений, которые идут "в коробке" с MySQL не уверен, что будет достаточно. Скорее всего придется плагин цеплять. В данном случае вполне будет достаточно функции SUBSTRING_INDEX: SELECT tmp.strFROM ( SELECT '20/30/60' AS str UNION SELECT '23/10/10' UNION SELECT '22/70/20' ) AS tmpWHERE SUBSTRING_INDEX(tmp.str, '/', 1) + SUBSTRING_INDEX(SUBSTRING_INDEX(tmp.str, '/', 2), '/', -1) + SUBSTRING_INDEX(tmp.str, '/', -1) > 100Использование индекса, при таком построении запроса, исключено.
-
А точно ничего не забыли сделать с результатом выполнения запроса: $date = $db->query("SELECT date FROM " . PREFIX . "_post WHERE `id`='{$newsID}' LIMIT 1");// $date - mysqli_result$date = $date->fetch_assoc();// $date - array$date = $date['date'];// $date - строка$expires = $date;$db->query( "INSERT INTO " . PREFIX . "_post_log (news_id, expires, action) VALUES('{$newsID}', '$expires', '1')" );http://php.net/manual/en/mysqli.query.php http://php.net/manual/en/mysqli-result.fetch-assoc.php
-
Первое - нужно определить под кем работает Apach (при условии, конечно, что php работает как модуль). Для этого в терминале выполнить: ps -AF | grep -e "apache"Результат примерно следующий: www-data - это пользователь под которым работают рабочие процессы апача (под рутом работает диспетчер - он не нужет). Далее, чтобы дать доступ этому юзеру к файлу или каталогу, можно пойти несколькими путями. Изменить владельца файла/каталога на пользователя апача, в моем случае на www-data: chown -R www-data /var/www/site.comОткрыть всем (и www-data в частности) доступ к файлу/каталогу: chmod -R 777 /var/www/site.com
-
Ознакомьтесь с системой разделения прав доступа в linux. Изменить права доступа к файлу может только владелец или суперпользователь. Если работаете с хостингом, тогда можно попробовать в панели администрирования хостинга найти менеджер файлов и через него выставить на файл права 777.
-
Эти настройки прописываются для: владельца, группы и остальных. Если нет возможности посмотреть под кем запускается php, это можно узнать создав из под пхп файл и посмотреть его владельца и группу. Узнав под кем работает пхп, смотрите права на интересующий файл. Примерно так: error_reporting(-1);ini_set('display_errors', 'on');$fh = fopen('test', 'w+');fclose($fh);print_r(stat('test'));print_r(stat('XXX/Applications/Src/cache/index.php'));Еще можно проверить доступ на чтение http://php.net/manual/en/function.is-readable.php
-
Если блок не вмещается на экране полностью (положил в корзину 13 дисков), то любой клик или активизация полей ввода приводит к сворачиванию блока. Как по мне, ОЧ большой минус, что магазин полностью работает на JS. Если каталог будет ОЧ большой, то его полная "загрузка в браузер" в виде JS объектов может вылезти боком. Главное сеошникам не показывайте этот магазин.
-
Если "вытащить" блок с корзиной мышкой - кнопка свернуть не появляется. Появится только при клике на пиктограмме корзины.