PHP.SU

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

Страниц (289): « 1 2 3 [4] 5 6 7 8 9 ... » В конец

> Найдено сообщений: 4334
Champion Отправлено: 07 Февраля, 2013 - 22:40:39 • Тема: Задача с числами • Форум: Вопросы новичков

Ответов: 10
Просмотров: 985
Но этот перебор остановится, когда делить ни на что не останется.
А решето Эратосфена подразумевается использовать для получения N простых чисел? Нам же все равно сначала надо проинициализировать массив-решето числами в кличестве N (или N-1, не помню).
Хотя, конечно, инициализация решета менее затратна, чем иф с делением, но большинство раз, я думаю, этот цикл будет заканчиваться числа так до 53. Но с большими простыми множителями будет конечно медленноват
Champion Отправлено: 07 Февраля, 2013 - 22:29:37 • Тема: стабильный релиз MySQL 5.6 • Форум: Новости веб-технологий

Ответов: 13
Просмотров: 139
Мелкий пишет:
возможность добавлять индексы и менять структуру таблиц innodb без полного копирования таблицы и сопутствующей блокировки на запись
много чего полезного заявлено по производительности
Отличненько.

А подбирать правильный план для запросов типа SELECT xxx FROM tbl1 WHERE indexedField IN(SELECT value FROM tbl2 WHERE someCondition), где someCondition не ссылается на поля внешнего запроса - научился?
В смысле что такие запросы при выполнении другие СУБД выболняют как join, а не как exists.
Champion Отправлено: 07 Февраля, 2013 - 22:14:23 • Тема: Задача с числами • Форум: Вопросы новичков

Ответов: 10
Просмотров: 985
EuGen пишет:
и искомая сумма будет суммой первых двух элементов.
Ну не совсем. В этом примере два первых элемента будет 2 и 3, но они пару не образуют. Лучше все-таки искать минимум в суммах.

А по поводу разложения, такое не покатит?
PHP:
скопировать код в буфер обмена
  1. $rest = $srcNumber;
  2. $mults = array();
  3. for ($i = 2; $rest > 1; ) {
  4.   if ( is_int($rest / $i)) {
  5.     $mults[] = $i;
  6.     $rest /= $i;
  7.    }else {
  8.      ++$i;
  9.    }
  10.  
  11. }

(Добавление)
Но можно разложить и исходное число, и 24 таким способом, а потом, действительно брать по очереди множители исходного числа, если такой же множитель есть и у 24, то отложить его в кучку и убрать из рассмотрения из 24 (только учесть, что и у 24, и у самого исходного числа может быть по несколько одинаковых множителей). Получившаяся последовательность будет состоять из минимальных множителей, которые дадут 24.
Теперь можно циклом, перебрав половину этих множителей получать два числа
div24 и 24/div24 (div24 - это перемноженный на все предыдущие множитель из полученных на предыдущем этапе), найти сумму и сравнить ее с минимальной
Champion Отправлено: 19 Января, 2013 - 10:55:46 • Тема: Четкая последовательность символов в исключении [^?] • Форум: Регулярные выражения

Ответов: 3
Просмотров: 184
CODE (htmlphp):
скопировать код в буфер обмена
  1. /<tr[^>]*>((?:(?!<\/tr).)*?)<\/tr>/si
Champion Отправлено: 07 Января, 2013 - 18:53:39 • Тема: Минимальная безопасность • Форум: Вопросы новичков

Ответов: 9
Просмотров: 383
createl пишет:
А вот не совсем дошло до меня, что именно она делает. Подскажите, в самой базе, данные останутся без изменений, как и в случае неиспользования этой функции?
Она, например, экранирует символы-ограничители строки. Если в столбец stolb нужно вставить значение o'henry и в запросе образуется кусок типа stolb = 'o'henry', то будет синтаксическая ошибка. Если написано stolb = 'o\'henry', то все будет хорошо. Ну и разумеется, не экранируя строки можно добиться более интересных вещей, чем синтаксические ошибки: если речь о вставке, то вставить такую запись, какую хотите вы, а не какую формирует php скрипт(например, зарегить пользователя со статусом админ, если структуры данных позволяют). При селектах - сделать заведомо выполнимое условие, добавить limit - и получить любую строку таблицы. Вот.
В базу, разумеется, данные попадают как есть. Экранирование не изменяет сами данные, оно их преобразует так, чтобы спецсимволы, которые в них присутсвуют, трактовались как обычные символы и теряли свои спец-способности.

createl пишет:
Если я перекидываю данные из одной БД в другую скриптом
Смотря, каким скриптом. Если sql скриптом типа insert select или create table as select, то не нужно. Если скрипт работает не в самой субд, а является для нее клиентом, то нужно экранировать.

createl пишет:
strip_tags
В общем, избавит, но вырезание тэгов может быть не желательно. Может, я реально хочу написать Вам "<b><b><b><b>". Есть htmlentities.

createl пишет:
также регулярка убирает все что соответствует шаблону <script.../script>
А она учитывает, что после того, как убирается все что соответствует шаблону <script.../script>, то то, что получится, тоже может стать соответствовать шаблону <script.../script> ?)
шаблону <scri<script.../script>pt>realscript/script>
Champion Отправлено: 13 Декабря, 2012 - 11:03:15 • Тема: SEO + .htaccess + index.php • Форум: Apache и другие веб-серверы

Ответов: 15
Просмотров: 1411
DeepVarvar пишет:
3) берем нужные в экшне параметры из $gp, если брали $gp['id'], unset($gp['id']), и так на каждый забираемый экшном параметр
Ну я не очень представляю, как можно предусмотреть, какие реально у нас "все нужные параемтры", потому что иногда нужных параметров может быть побольше, чем там id или page, и они могут меняться. Это всё-таки где-то должно быть описано?

По поводу 404, мне кажется, это немного жесткая мера. Если ты забудешь о каком-нибудь параметре, то будешь отдавать 404 на вполне нормальную страницу. Но, с другой стороны, 404 быстро себя обнаружит)

Плюс, разные счетчики, яндексдиректы и прочие погут цеплять к урлу свои финтифлюшки, типа utm_source и пр. На них тоже не надо отдавать 404, но они и не должны делать дублей. Поэтому, по-моему, meta url + clean-param - необходимая мера, а как определять список допустимых гет-параметров - отдельное дело.

PS, на сякий случай.
Я же правильно понял, что вопрос в том, как бороться с появляением
http://mysite[dot]ru/page?get1
http://mysite[dot]ru/page?get2
http://mysite[dot]ru/page?getMnogomnogo&moreGet
Champion Отправлено: 13 Декабря, 2012 - 08:34:00 • Тема: SEO + .htaccess + index.php • Форум: Apache и другие веб-серверы

Ответов: 15
Просмотров: 1411
DeepVarvar, есть такая штука как <meta name="URL" content="http://www.site.ru/realPageUrl?with=required&deferent=parameters..." />
Если на дублях страниц он будет, то писковики поймут, какая страница - оригинал.
Только вот вопрос, как сфомировать этот урл - для этого надо быть в курсе во всех экшнах, какие они могут принимать гет-параемтры и, например, для meta name="URL" генерить урл, в котором все возможные гет параметры слева направо в алфавитном порядке со совими значениями. Но это может превратиться во что-то сильно ужасное.

Можно иметь в контроллерах карту экшнов, какие они параметры принимают, и в init контроллера генерить этот meta name="URL" , но нужно тогда внимательно поддерживать эту карту.

Можно перечисмлисть в robots.txt в clean-param все бестолковые геты, но их приблизительно бесконечное число.

Можно забить Улыбка
Champion Отправлено: 04 Октября, 2012 - 21:19:56 • Тема: Ребята, помогите! • Форум: Вопросы новичков

Ответов: 21
Просмотров: 669
Ну а если вернуться к первоначальному варианту, то его можно изменить до нужного результата, прочитав где-нибудь про префиксный и постфиксный инкремент
Champion Отправлено: 02 Октября, 2012 - 19:36:12 • Тема: MySQL SELECT засыпает на 20 сек, и сайт зависает то же • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 40
Надо смотреть запрос, explain к нему, DDL используемых в нем таблиц(с индексами) или других таблицеобразных объектов и примерный объем данных в таблицах.
Champion Отправлено: 30 Сентября, 2012 - 13:27:44 • Тема: Как написать построение автобусных маршрутов? • Форум: Хранение данных, их вывод и обработка

Ответов: 1
Просмотров: 1232
http://yandex[dot]ru/yandsearch?text[dot][dot][dot]D0%B5&lr=213
(Добавление)
Выбираете любой алгоритм поиска кр. путей в графе, раскладываете остановки по графам, задаете расстояния между остановками как веса ребер. Далее получаете кратчайший путь (список ребер), и смотрите, каким автобусам принадлежат ребра - вот и с пересадками и без пересадок всё сразу
Champion Отправлено: 27 Сентября, 2012 - 21:09:01 • Тема: Сложная сортировка и выбор соседних значений • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 24
Выбрав нужную вам айдишку, вы получите для нее значение cool(X). Дальше можете сделать выборку, где cool > X or (cool = X and id > ID) limit 1 и cool < X or (cool = X and id < ID) limit 1.
Если индексы есть, то этот вариант эффективнее
Champion Отправлено: 20 Августа, 2012 - 12:07:05 • Тема: Подскажит класс • Форум: Вопросы новичков

Ответов: 3
Просмотров: 165
Да в общем-то и fsockopen + fgets, fwrite ...
Champion Отправлено: 11 Июля, 2012 - 12:36:51 • Тема: Синтаксическая непонятность • Форум: Вопросы новичков

Ответов: 7
Просмотров: 334
EuGen пишет:
Champion
Вспомните про метки в php - и как они объявляются (привет goto)
Аааа, точно! Блин, это же очевидно. Че-то я стормозил.

Всё началось с того, что я вызывал статический метод класса и забыл одно двоеточие. Произошло обращение к функции, которая после двоеточия. И вот такой неправильный вывод я сделал Улыбка
Champion Отправлено: 11 Июля, 2012 - 12:07:09 • Тема: Синтаксическая непонятность • Форум: Вопросы новичков

Ответов: 7
Просмотров: 334
это не ошибка.
Пример кода

Он работает, как будто просто вар дамп
(Добавление)
PHP 5.3.10 (cli) (built: Feb 2 2012 20:27:51)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
Champion Отправлено: 11 Июля, 2012 - 11:48:48 • Тема: Синтаксическая непонятность • Форум: Вопросы новичков

Ответов: 7
Просмотров: 334
Ну опечатка, не придирайся Улыбка Опубликовал вопрос в "вопросах новичков"(куда еще постить вопросы по синтаксису), тут можно делать опечатки.

Страниц (289): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB