Jump to content

homm

Expert
  • Posts

    1,786
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by homm

  1. Батя, дисскусию с тобой только ZoNT начал, остальным и так понятно что людей котрые говорят чушь и выдают это за аргумент спорить бесполезно. Про каталог не понял нифига, чем набор html для оперы будет отличатся от такового для ИЕ? Разве что большей легкостью верстания.
  2. Неуважаемый мной Алекc, темы для дискуссии не вижу, прав я, кроме того вы производите впечатление слишком глупого и недальновидного человека. Засим все.
  3. Какой нафиг JS? Бегом читать: http://htmlbook.ru/html/link.html
  4. Товаришь, вы идиот? В коде выше стоит прямая проверка на то является ли текущей брузером ие или мазиллой или нет, если проверка не пройдена скрипт ничего не делает. И это не проблема оперы, это проблема того имбицила-программиста, вроде вас, который его написал и считает что кроме него вокруг других людей нету.
  5. Спасибо. Но в данном случае мне данные нужны были и для обработки.
  6. 1) Групируйте INSERT'ы. Если есть некое хранилище, откуда берутся данные, складывайте их в массив, а потом добавляйте. Пример не верный: $master_record = file($master_file); foreach ($master_record as $item) { $item = explode("t", trim($item)); $item = "('".implode("', '", $item)."')"; mysql_query("INSERT INTO Table(/*поля*/) VALUES ".$item); } Пример верный: $master_record = file($master_file); foreach ($master_record as $item) { $item = explode("t", trim($item)); $item = "('".implode("', '", $item)."')"; } $master_record = implode(', ', $master_record); mysql_query("INSERT INTO Table(/*поля*/) VALUES ".$master_record); 2) Не группируйте INSERT'ы больше тысячи, иначе мускуль может просто уйти в аут. Развивая предыдущий пример: $file = fopen($master_file, 'r'); while (!feof($file)) { $i = 0; $master_record = array(); while ($i < 1000 && !feof($file) ) { $master_record[] = "('".implode("', '", explode("t", trim(fgets($file))))."')"; $i++; } $master_record = implode(", ", $master_record); mysql_query("INSERT INTO Table(/*поля*/) VALUES ".$master_record); } 3) LEFT JOIN работает в 10 раз бстрее, чем JOIN до: UPDATE geotar_slave AS slave JOIN geotar_regions AS regs ON regs.region = slave.region SET slave.region_id = regs.id ? 28 сек. после: UPDATE geotar_slave AS slave LEFT JOIN geotar_regions AS regs ON regs.region = slave.region SET slave.region_id = regs.id ? 3,7 сек. 4) UPDATE ? очень долго. Если происходит связанная вставка в несколько таблиц, лучше заранее вычислить все поля, потратив больше времени на обработке PHP и вставить по одному INSERT на каждую таблицу, чем сначала вставить а потом UPDATE'ом обновлять связи. до: 1500 UPDATE на каждый элемент связанного списка по 0,7 сек = 1050 сек. после: по 1,5 сек предварительных расчетов на каждую из 96-и тысяч элементов основной таблицы = 144 сек. 5) Используйте все имеющиеся данные. Пример ? поиск для элемента другого элемента по некоторому условию: foreach ($master_record as &$item) { $row = 0; foreach ($master_cache as $key => &$master) { if ( /* какое-то условие, связывающее $master и $item*/ ) { $row = $key; break; } } $item[] = $row; } В моем случае заранее было известно количество элементов $item для каждого мастера, поэтому найдя n-ое количество соответствий решил выкидывать мастеров: foreach ($master_record as &$item) { $row = 0; foreach ($master_cache as $key => &$master) { if ( /* какое-то условие, связывающее $master и $item*/ ) { $row = $key; $master['count']--; if ( $master['count'] == 0 ) { unset ($master_cache[$key]); } break; } } $item[] = $row; } до: по 1,5 сек предварительных расчетов на каждую из 96-и тысяч элементов основной таблицы = 144 сек. поcле: примерно 4 сек на все 96 тыс. элементов. Итого: скрипт работающий 1200 сек стал работать меньше чем за 10. Оптимизация ? страшная весч. ЗЫ если кому интересно: конвертил базу http://ipgeobase.ru/ в человеческий вид.
  7. <table border=1> <tr> <td> Первый блок </td> <td> второй блок </td> </td> </table>
  8. Я написал, можно сравнивать.
  9. Эх, а у меня выходной начался, я хотел так просто написать, придется написать и никому не показать, пока Дмитрий не даст отмашку, а потом сравним
  10. Я ненавижу это детище тупых криворуких индусов, это глючное чудовище, поведение которово не подчиняется законам здравого смысла. ps. нашел причину, но клеток нервных извел?
  11. Ну тогда все верно, можно не беспокоится о результате
  12. Ну вот, похоже первые признаки гугль-бота.
  13. Оторвите руки, тому кто написал этот код.
  14. Нет, вопрос про большой интернет.
  15. Вам то хорошо, у вас только заголовок в опере не виден? А у меня вот культурный шок, я открыл ваше творение в фаерфоксе.
  16. А как положено? Какой адрес у картинки получается в коде? Где она реально лежит?
  17. Кроме td можно использовать th или задавать класс tr.
  18. Эта опция в 7-м эксплорере по умолчанию разрешена? У заказчика и еще у нескольких людей запрещена, сомнительно что они сами запретили. А мне сомнительно что она может быть запрещена, потому что это отключает фильтры. Кто что слышал по этой проблеме?
  19. Безполезно показывать скрытый див
  20. Scrum, прошу прощения, посмотрел только на результат. Когда передо мной вставала такая задача, я обычно был не привязан к строгому размеру ячеек, да и в 99% случаев извернуться можно, задать фон не для средней яейки, а для таблицы с учетом отступов, если контент должен поверх накладываться торчащий из футера, его проще сделать в футере и т.д.
  21. Восклицательный знак. Называется оператор ?не?.
  22. на данный момент либо quirks mode либо JS ? либо глаза на одно сообщение вверх поднять?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy