I am making a WordPress plugin to integrate with our library system. I am trying to create a page with a search form to search the database. I have created an API on our library server (it is on our local network) so the site can interface with our library back end.
I am trying to paginate results pulled from the API, the data is in json. I have created the following code to get the json from the API and turn it into a PHP array, it does not implement search, yet:
add_shortcode("book_search_form", "book_search_form");
function book_search_form() {
$api_url = get_option('api_url');
$api_key = get_option('api_key');
$data = file_get_contents("$api_url/book/index.php/name/awesome/$api_key");
$data = (array)json_decode($data, true);
echo '<pre>';
var_dump($data);
echo '</pre>';
}
here is the output:
array(2) {
[0]=>
array(22) {
["barcode"]=>
string(12) "000015427928"
["name"]=>
string(74) "Janice VanCleave's 201 awesome, magical, bizarre & incredible experiments."
["author"]=>
string(12) "Janice Pratt"
["author_last"]=>
string(9) "VanCleave"
["publisher"]=>
string(11) "Wiley: 1994"
["year_pub"]=>
string(0) ""
["edition"]=>
string(0) ""
["genre"]=>
string(0) ""
["checkout"]=>
string(5) "false"
["series"]=>
string(0) ""
["callnum"]=>
string(5) "507.8"
["fiction"]=>
string(5) "false"
["in_house"]=>
string(5) "false"
["timestamp"]=>
string(10) "1374711656"
["outto"]=>
string(0) ""
["duedate"]=>
string(1) "0"
["ISBN"]=>
string(10) "0585339376"
["media_type"]=>
string(0) ""
["print"]=>
string(5) "false"
["BOXID"]=>
string(0) ""
["uid"]=>
string(1) "0"
["printed"]=>
string(4) "true"
}
[1]=>
array(22) {
["barcode"]=>
string(12) "000015429634"
["name"]=>
string(50) "Our Awesome Earth: Its Mysteries and Its Splendors"
["author"]=>
string(4) "Paul"
["author_last"]=>
string(6) "Martin"
["publisher"]=>
string(35) "Natl Geographic Society: March 1994"
["year_pub"]=>
string(0) ""
["edition"]=>
string(0) ""
["genre"]=>
string(0) ""
["checkout"]=>
string(5) "false"
["series"]=>
string(0) ""
["callnum"]=>
string(3) "050"
["fiction"]=>
string(5) "false"
["in_house"]=>
string(5) "false"
["timestamp"]=>
string(10) "1382550052"
["outto"]=>
string(0) ""
["duedate"]=>
string(1) "0"
["ISBN"]=>
string(10) "0870445456"
["media_type"]=>
string(0) ""
["print"]=>
string(5) "false"
["BOXID"]=>
string(0) ""
["uid"]=>
string(1) "0"
["printed"]=>
string(5) "false"
}
}
I am trying to create pagination, because some of the queries contain 50 or more books. I have done this before with mysql but I cannot figure out how to do it with an array.
Thanks!
Following is the prototype of the code you would use for pagination ,just alter it to get the desired results.
One simple and clean example to paginate an array, working and tested OK 🙂