jobamatic — php, если поле формы пусто, установить переменную

В настоящее время Мой API выдает следующий http-запрос:

http://api.simplyhired.com/a/jobs-api/xml-v2/q-Golf%golf/k-golf?pshid=mypshid&ssty = 2&cflg = г&AUTH = myauth&Зажим = 76.68.98.34

Мне нужно отформатировать, как показано ниже, после изменений в API:

http://api.simplyhired.com/a/jobs-api/xml-v2/q-golf/sb-rd/ws-10/pn-1?pshid=mypshid&ssty = 2&cflg = г&AUTH = myauth&Зажим = 76.68.98.34

q = поисковый термин и что мне нужно сделать, это по умолчанию «гольф», если раздел ключевого слова для поиска пуст (или для первого посетителя)

Поэтому мне нужно кодировать что-то вроде ниже:

если $ query равен нулю, то $ query = ‘golf’
иначе $ query = trim ($ query);

Я не понимаю следующую строку и считаю, что это то, что должно быть скорректировано. Это устанавливается в разделе настроек плагина для поисковой системы по умолчанию. Я просто хотел бы изменить сам код.

if( strpos( $query, 'golf' ) === false) {
$query .= 'golf';
}

Вот код php из плагина WP, с которым я работаю:

    <?php
require_once(dirname(__FILE__) . '/RemoteConnector.php');
require_once(dirname(__FILE__) . '/JobamaticXMLParser.php');

define('JOBAMATIC_INVALID_URL_ERROR', 3000);
define('JOBAMATIC_XMLPARSER_ERROR', 3001);

class SimplyHiredJobamaticAPI {
protected $pshid;
protected $jbd;
protected $ssty;
protected $cflg;
protected $auth;
protected $clip;
protected $error;
protected $code;
protected $data;

const JOBAMATIC_ENDPOINT = 'http://api.simplyhired.com/a/jobs-api/xml-v2/';public function __construct($pshid, $jbd) {
$this->pshid = trim($pshid);
$this->jbd = trim($jbd);
$this->ssty = 2;
$this->cflg = 'r';
$this->auth = 'myauth';
$this->clip = $_SERVER['REMOTE_ADDR'];
$this->error = NULL;
$this->code = NULL;
$this->data = NULL;
}

public function search($query, $size = 10, $page = 0, $location = '', $miles = 5, *emphasized text*$sort = 'rd', $constant = 'golf') {if( strpos( $query, 'golf' ) === false) {
$query .= 'golf';
}
$params = array(
'q' => rawurlencode(trim($query)),
'sb' => $sort,
'ws' => $size,
'pn' => (intval($page) < 1 ? 0 : intval($page)),
'k'  => $constant,
);

if (!is_null($location) && $location != '') {
$params['l'] = rawurlencode($location);
}

if (!is_null($location) && intval($miles) > 0) {
$params['m'] = $miles;
}

$this->call($params);
if($this->code == 200) {
return $this->data;
} else {
return FALSE;
}
}

protected function call($criteria) {
$url = self::JOBAMATIC_ENDPOINT . '%s?';

$api_identity = array(
'pshid' => $this->pshid,
/*'jbd' => $this->jbd,*/
'ssty' => $this->ssty,
'cflg' => $this->cflg,
'auth' => $this->auth,
'clip' => $this->clip,

);

$identity_string = array();
foreach ($api_identity as $key => $value) {
$identity_string[] = $key . '=' . $value;
}

$url .= implode('&', $identity_string);

$params = array();

foreach ($criteria as $key => $value) {
$params[] = $key . '-' . $value;
}

$url = sprintf($url, implode('/', $params));
echo $url;
try {
$connector = new RemoteConnector($url);
$this->code = $connector->getStatus();
} catch (Exception $e) {
$this->error = $e->getMessage();
$this->code = JOBAMATIC_INVALID_URL_ERROR;
return;
}

$this->parseXML($connector->__toString());
}

protected function parseXML($data) {
$parser = JobamaticXMLParser::getParser();
if(!$this->data = $parser->parse($data)) {
$this->code = JOBAMATIC_XMLPARSER_ERROR;
$this->error = 'JobamaticXMLParser error: ' . $parser->getErrorMessage();
}
}
}

0

Решение

Этот маленький if условие в основном говорит: ЕСЛИ $query делает НЕ есть слово golf в нем добавить (ДОБАВИТЬ) слово golf до конца $query строка.

if( strpos( $query, 'golf' ) === false) {
$query .= 'golf';
}

Исходя из вашего вопроса, конечно, вам просто нужно изменить его на:

if(empty($query) || $query == "" || $query == NULL) {
$query = "golf";
} else {
$query = trim($query);
}

Это то, что вы гоняетесь правильно? проверка, чтобы увидеть, что если строка запроса пуста или пуста, добавьте golf к нему или просто обрезать?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]