some image

Работа

truncate all tables mysql

Метки: , Работа

Как быстро очистить все таблицы в базе?

SELECT Concat('TRUNCATE TABLE ',table_schema,'.',TABLE_NAME, ';') 
FROM INFORMATION_SCHEMA.TABLES where  table_schema in ('db1_name','db2_name');

Выполните этот запрос и получите список запросов для очистки каждой таблицы. Далее просто скопируйте его и выполните.

[Выполнено] Парсер 1k.by

Работа

Выполнен парсинг дерева категорий, товаров, их свойств и изображений для анализа цен конкурентов. По вопросам покупки обращайтесь любым удобным способом, указанным в разделе «Контакты».

[Выполнено] Парсер armovision.ru

Работа

Выполнен парсинг дерева категорий, товаров, их свойств и изображений. По вопросам покупки обращайтесь любым удобным способом, указанным в разделе «Контакты».

Чем HAVING отличается от WHERE

Метки: Работа

При помощи HAVING отражаются все предварительно сгруппированные посредством GROUP BY блоки данных, удовлетворяющие заданным в HAVING условиям. Это дополнительная возможность “профильтровать” выходной набор.

Условия в HAVING отличаются от условий в WHERE:

  • HAVING исключает из результирующего набора данных группы с результатами агрегированных значений;
  • WHERE исключает из расчета агрегатных значений по группировке записи, не удовлетворяющие условию;
  • в условии поиска WHERE нельзя задавать агрегатные функции.

SSL3_GET_RECORD: decryption failed or bad record mac

Метки: , , , Работа

Если у вас возникает ошибка SSL3_GET_RECORD: decryption failed or bad record mac при работе со сторонним сервером через SSL — попробуйте переключить SSL в версию 2 или 3 вручную. Для PHP CURL:
curl_setopt($ch, CURLOPT_SSLVERSION, 2);
или
curl_setopt($ch, CURLOPT_SSLVERSION, 3);

zend framework 2 (zf2) — Url Helper для Wildcard маршрута

Метки: , Работа

Есть маршрут:

'application' => array(
	'type' => 'segment',
	'options' => array(
		'route'    => '/application[/:controller][/:action]',
		'defaults' => array(
			'__NAMESPACE__' => 'Application\Controller',
			'controller'    => 'Index',
			'action'        => 'index',
		),  
	),
	'may_terminate' => true,
	'child_routes' => array(
			'default' => array(
					'type'    => 'Wildcard',
					'options' => array(
					),
			),
	),
),  

URL helper для него выглядит следующим образом (обратите внимание на application/default):

$this->url('application/default', array('controller' => 'advert', 'action' => 'index', 'phone' => $row->data['phone'] ) );

zend framework 2 (zf2) — маршрут с неограниченным числом параметров

Работа

При переходе на ZF2 с первого, столкнулся с проблемой что параметры теперь нужно хардкодить прямо в маршруте, во всех уроках так сделано и все довольны. Я же привык, еще с первой версии, что могу использовать ЧПУ вообще не меняя маршрутизацию, добавлять сколько угодно новых параметров.

Вот маршрут для обеспечения такой же функциональности в ZF2, используем тип WildCard:

'application' => array(
	'type' => 'segment',
	'options' => array(
		'route'    => '/application[/:controller][/:action]',
		'defaults' => array(
			'__NAMESPACE__' => 'Application\Controller',
			'controller'    => 'Index',
			'action'        => 'index',
		),  
	),
	'may_terminate' => true,
	'child_routes' => array(
			'default' => array(
					'type'    => 'Wildcard',
					'options' => array(
					),
			),
	),
), 

После этого легко будут обрабатываться ссылки вида /aplication/user/add/param1/value1/param2/value2.

php preg_match длинные строки

Метки: Работа

Если при работе с длинной строкой регулярное выражение возвращает false вместо результата — добавьте

ini_set('pcre.backtrack_limit', '5000000');

simple_html_dom утечка памяти

Метки: , , Работа

Если при работе с simple_html_dom вы получаете следующую ошибку: Fatal error: Allowed memory size of bytes exhausted, значит, скорее всего, вы забыли после работы с отдельной страницей выполнить $html->clear();

Пример:

$html = file_get_html($url);
foreach($html->find('div[class=posts]') as $element){
    foreach($element->find('img') as $el){
      // do smth
    }
}
$html->clear();
unset($html);