Skip to content

dariuszkorolczukcom/php-ajax-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple php api with an ajax app

API: https://www.codeofaninja.com/2017/02/create-simple-rest-api-in-php.html

APP: https://www.codeofaninja.com/2015/06/php-crud-with-ajax-and-oop.html

Using PhpMyAdmin, create a new "api_db"

CREATE TABLE IF NOT EXISTS categories ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(256) NOT NULL, description text NOT NULL, created datetime NOT NULL, modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;

INSERT INTO categories (id, name, description, created, modified) VALUES (1, 'Fashion', 'Category for anything related to fashion.', '2014-06-01 00:35:07', '2014-05-30 17:34:33'), (2, 'Electronics', 'Gadgets, drones and more.', '2014-06-01 00:35:07', '2014-05-30 17:34:33'), (3, 'Motors', 'Motor sports and more', '2014-06-01 00:35:07', '2014-05-30 17:34:54'), (5, 'Movies', 'Movie products.', '0000-00-00 00:00:00', '2016-01-08 13:27:26'), (6, 'Books', 'Kindle books, audio books and more.', '0000-00-00 00:00:00', '2016-01-08 13:27:47'), (13, 'Sports', 'Drop into new winter gear.', '2016-01-09 02:24:24', '2016-01-09 01:24:24');

CREATE TABLE IF NOT EXISTS products ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(32) NOT NULL, description text NOT NULL, price decimal(10,0) NOT NULL, category_id int(11) NOT NULL, created datetime NOT NULL, modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=65 ;

INSERT INTO products (id, name, description, price, category_id, created, modified) VALUES (1, 'LG P880 4X HD', 'My first awesome phone!', '336', 3, '2014-06-01 01:12:26', '2014-05-31 17:12:26'), (2, 'Google Nexus 4', 'The most awesome phone of 2013!', '299', 2, '2014-06-01 01:12:26', '2014-05-31 17:12:26'), (3, 'Samsung Galaxy S4', 'How about no?', '600', 3, '2014-06-01 01:12:26', '2014-05-31 17:12:26'), (6, 'Bench Shirt', 'The best shirt!', '29', 1, '2014-06-01 01:12:26', '2014-05-31 02:12:21'), (7, 'Lenovo Laptop', 'My business partner.', '399', 2, '2014-06-01 01:13:45', '2014-05-31 02:13:39'), (8, 'Samsung Galaxy Tab 10.1', 'Good tablet.', '259', 2, '2014-06-01 01:14:13', '2014-05-31 02:14:08'), (9, 'Spalding Watch', 'My sports watch.', '199', 1, '2014-06-01 01:18:36', '2014-05-31 02:18:31'), (10, 'Sony Smart Watch', 'The coolest smart watch!', '300', 2, '2014-06-06 17:10:01', '2014-06-05 18:09:51'), (11, 'Huawei Y300', 'For testing purposes.', '100', 2, '2014-06-06 17:11:04', '2014-06-05 18:10:54'), (12, 'Abercrombie Lake Arnold Shirt', 'Perfect as gift!', '60', 1, '2014-06-06 17:12:21', '2014-06-05 18:12:11'), (13, 'Abercrombie Allen Brook Shirt', 'Cool red shirt!', '70', 1, '2014-06-06 17:12:59', '2014-06-05 18:12:49'), (26, 'Another product', 'Awesome product!', '555', 2, '2014-11-22 19:07:34', '2014-11-21 20:07:34'), (28, 'Wallet', 'You can absolutely use this one!', '799', 6, '2014-12-04 21:12:03', '2014-12-03 22:12:03'), (31, 'Amanda Waller Shirt', 'New awesome shirt!', '333', 1, '2014-12-13 00:52:54', '2014-12-12 01:52:54'), (42, 'Nike Shoes for Men', 'Nike Shoes', '12999', 3, '2015-12-12 06:47:08', '2015-12-12 05:47:08'), (48, 'Bristol Shoes', 'Awesome shoes.', '999', 5, '2016-01-08 06:36:37', '2016-01-08 05:36:37'), (60, 'Rolex Watch', 'Luxury watch.', '25000', 1, '2016-01-11 15:46:02', '2016-01-11 14:46:02');

required: https://jquery.com/ https://github.com/macek/jquery-serialize-object http://bootboxjs.com/

to test the REST PHP API use the following (with postman)

----C in Crud---- POST http://localhost/php-api-codeofaninja/api/product/create.php

{"name":"My Laptop","price":10,"description":"old laptop with 32GB SSD drive and broken screen", "category_id":1,"created":"2012-04-23T18:25:43.511Z" } ----R in cRud---- GET http://localhost/php-api-codeofaninja/api/product/read.php

{"name":"My New Laptop","price":50,"description":"laptop Effy bought me, with 1TB CORE i3 and Iris", "category_id":1,"created":"2012-04-21T18:25:43-05:00" } ----U in crUd---- PUT http://localhost/php-api-codeofaninja/api/product/update.php {"id":"64","name":"My New Laptop","price":40,"description":"old laptop with 32GB SSD drive and broken screen", "category_id":1 } ----D in cruD---- DELETE http://localhost/php-api-codeofaninja/api/product/delete.php

{"name":"My New Laptop"}

read_one GET http://localhost/php-api-codeofaninja/api/product/read_one.php?id=1

About

https://www.codeofaninja.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors