PHP code example of webcito / jquery-select-suggest
1. Go to this page and download the library: Download webcito/jquery-select-suggest library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
webcito / jquery-select-suggest example snippets
/**
* Note: PHP8.0 or higher is json');
try {
// Fetch a test data set
/** @var stdClass[] $countries */
$countries = json_decode(file_get_contents('countries.json'), false, 512, JSON_THROW_ON_ERROR);
// Try to find the query parameter value
$value = filter_input(INPUT_GET, 'value', FILTER_VALIDATE_INT);
/** @var null|stdClass|array $return */
$return = null;
// Was the value parameter found?
$fetchSingleData = ! empty($value);
// if yes
if ($fetchSingleData)
{
// Get the record using the value parameter
$data = array_values(array_filter($countries, static function($country) use ($value){
return $country->id === $value;
}));
$return = $data[0];
}
// if no
else
{
// Get parameter q and limit
$limit = filter_input(INPUT_GET, 'limit', FILTER_VALIDATE_INT);
$q = filter_input(INPUT_GET, 'q');
$search = empty($q)? false : strtolower($q);
// If q was not passed or is empty, do not return any results either.
// Otherwise, search for matches of the search string.
$data = array_slice(
array:array_values(array_filter($countries, static function($country) use ($search){
return $search === false || str_contains(strtolower($country->text), $search);
})),
offset: 0,
length: $limit
);
// Put the result in the response
$return['items'] = $data;
$return['total'] = count($countries);
}
// Return as JSON
http_response_code(200);
exit(json_encode($return, JSON_THROW_ON_ERROR));
} catch (JsonException $e) {
http_response_code(500);
exit(json_encode(['error' => $e->getMessage()], JSON_THROW_ON_ERROR));
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.