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!