Ответы пользователя по тегу PHP
  • Как настроить релевантность поиска PHP + MySQL?

    @alabs Автор вопроса
    Проблему решил в рамках php + mysql. Поиск не нагруженный на сайте. Вот решение:

    Завел словарь моделей.
    <?
    	$slovar = array(
    		'iphone 6' => 'iphone 6',
    		'6 iphone' => 'iphone 6',
    		'iphone 6s' => 'iphone 6s',
    		'6s iphone' => 'iphone 6s',
    		'iphone 7' => 'iphone 7',
    		'7 iphone' => 'iphone 7',
    		'iphone 7s' => 'iphone 7s',
    		'7s iphone' => 'iphone 7s',
    	);


    Далее в поисковой строке заменяю все словосочетания, на словосочетания где вместо пробела нижнее подчеркивание. После разбивки поискового запроса на слова возвращаю пробелы на место.

    $tmp = substr( $tmp, 0, 40 ); //обрезаем строку
    //делаем массив с подчеркиваниями
    		foreach($slovar as $k=>$v){
    			$arr1[] = $k;
    			$arr2[] = str_replace(" ", "_", $v);
    		} 
    //заменяем в поисковом запросе словосочетания
    		$tmp =  str_replace($arr1, $arr2, $tmp);
    //бьем поисковую строку  на пробелы
    		$tmp = explode( ' ', $tmp );
    //пробелы заменяем на конструкцию SQL
    		$where = "`title` LIKE '%" . implode ( "%' AND `title` LIKE '%", $tmp ) . "%'";
    //возвращаем в запрос обратно пробелы
    		$where =  str_replace("_", " ", $where);
    Ответ написан
    Комментировать
  • Curl выдает false. Что делать?

    @alabs Автор вопроса
    Решил вопрос другим методом:
    function gateway($method, $data) {
    	$context = stream_context_create(array(
    	  'http' => array(
    		'method' => 'POST',
    		'header' => 'Content-Type: application/x-www-form-urlencoded',
    		'content' => http_build_query($data),
    		'protocol_version' => 1.1,
    		'timeout' => 10,
    		'ignore_errors' => true
    	  )
    	));
    	$response = file_get_contents(GATEWAY_URL.$method, false, $context);
    	$response = json_decode($response, true); // Декодируем из JSON в массив
        return $response; // Возвращаем ответ
    }
    Ответ написан
    1 комментарий