Архив

Публикации с меткой ‘PHP’

Задача: нужно выбрать строки, в которых поле начинается с выбранной буквы, не учитывая определенный набор символов в его начале — ИП, ООО и т.д.
Т.е. фильтр по алфавиту, но наименования указаны как ИП Тест или в другом любом формате.
Например, при поиске результатов, начинающихся с С должен найти ООО РЦ «Северо-Запад»
Набор неучитываемых символов задается пользователем, указывается через разделитель |:

$setting_replace='ИП|ООО|ТД|РЦ|"|«';
$part_sql='`name`';
$replaces=explode('|',$setting_replace);
foreach($replaces as $item){
	$part_sql="REPLACE(".$part_sql.",'".$item."','')";
}
$where.=" AND TRIM(".$part_sql.") LIKE '".$_GET['let']."%'";//TRIM - удаляем образовавшиеся пробелы, в нашем случае в начале

В результате поиска строк, у которых наименование начинается с «С» требуемая часть sql-запроса будет иметь вид:

 AND TRIM(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(`name`,'ИП',''),'ООО',''),'ТД',''),'РЦ',''),'"',''),'«','')) LIKE 'С%'
Categories: MySQL, PHP Tags: ,

В примере 10 часов

ini_set('session.gc_maxlifetime',36000);
session_set_cookie_params(36000);
Categories: PHP Tags:
3 февраля 2016 Нет комментариев
function str_replace_once($search,$replace,$text){
	$pos=strpos($text,$search);
	return $pos!==false?substr_replace($text,$replace,$pos,strlen($search)):$text;
}
Categories: PHP Tags:
20 января 2016 Нет комментариев

http://www.idivision.ru/2010/10/24/cbrf-exchange-rates-php-class/

$rates=new ExchangeRatesCBRF(date('Y-m-d'));
$eurocb=$rates->GetRate("EUR");
Categories: Web Tags:
7 декабря 2015 Нет комментариев

Регистронезависимый поиск по вхождению строки на русском в utf-8 (необходимо указание кодировки)

if(mb_stristr($data_vid_naness_text,'тиснение',false,'utf-8')){
}
Categories: PHP Tags:
4 декабря 2015 1 комментарий

Усовершенствованное решение этого варианта: http://krylov.org.ua/?p=1130
.htaccess

RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]

Работает для http://site.com/dir1///dir2
но проблема остается в адресах типа http://site.com///uri (несколько слешей после домена)
Решение на php:

if(stristr($_SERVER['REQUEST_URI'],'//')){
	$uri=preg_replace('#/{2,}#','/',$_SERVER['REQUEST_URI']);
	header('Location: '.$uri,false,301);
	exit;
}
Categories: PHP, Web Tags: ,
30 ноября 2015 Нет комментариев

В примере необходимо генерировать в URL фильтрацию по цене только в том случае, если пользователь сам изменил ползунок выбора цены.
Т.е. нужно не передавать определенные параметры в _GET (по ситуации).
Часть формы (добавляем hidden поля):

<form method="get" action="" id="filter_form">
	от <input type="text" name="price_from" id="price_from" value="100"/>
	до <input type="text" name="price_to" id="price_to" value="1000"/>
	<input type="hidden" id="price_min" value="100"/>
	<input type="hidden" id="price_max" value="1000"/>
</form>

Яваскриптом дисаблим inputы, если их значения не меняли.

$(function(){
	$("#filter_form").submit(function(){
		if($("#price_from").val()==$("#price_min").val()){
			$("#price_from").attr("disabled","disabled");
		}
		if($("#price_to").val()==$("#price_max").val()){
			$("#price_to").attr("disabled","disabled");
		}
	});
});
Categories: Javascript, PHP, Web Tags: , ,