Friday, May 29, 2015

How to create JSON using data from MySQL database



How to create JSON using data from MySQL database


JSON (JavaScript Object Notation) is more preferred nowadays over XML as it’s lightweight, readable and easily manageable for exchanging data across various platforms.
we’ll see how JSON Data can be created from Employee table stored in MySQL database.

1. Create Employee table in MySQL database.


CREATE TABLE IF NOT EXISTS `employee` (
`id_employee` int(3) unsigned NOT NULL AUTO_INCREMENT,
`emp_name` varchar(10) DEFAULT NULL,
`designation` varchar(9) DEFAULT NULL,
`date_joined` date DEFAULT NULL,
`salary` decimal(7,2) DEFAULT NULL,
`id_dept` int(2) DEFAULT NULL,
PRIMARY KEY (`id_employee`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
--
-- Dumping data for table `employee`
--
INSERT INTO `employee` (`id_employee`, `emp_name`, `designation`, `date_joined`, `salary`, `id_dept`) VALUES
(1, 'Himmat', 'CLERK', '2010-12-12', 2500.00, 20),
(2, 'Manoj', 'SALESMAN', '2015-02-20', 3500.00, 30),
(3, 'Mukesh', 'SALESMAN', '2011-02-22', 3550.00, 30),
(4, 'Naresh', 'MANAGER', '2011-04-02', 3975.00, 20),
(5, 'Ankush', 'SALESMAN', '2012-09-28', 3300.00, 30),
(6, 'Ram', 'MANAGER', '2008-05-01', 3800.00, 30),
(7, 'Minaxi', 'MANAGER', '2003-06-09', 3850.00, 10),
(8, 'Satyam', 'SALESMAN', '2012-09-08', 3600.00, 30),
(9, 'Pooja', 'CLERK', '2011-01-12', 2400.00, 20),
(10, 'Jony', 'CLERK', '2009-12-03', 2600.00, 30);
view raw employee.sql hosted with ❤ by GitHub

Create PHP file to read MySQL table and create JSON.get_json.php

<?php
//Create Database connection
$db = mysql_connect("localhost","root","root");
if (!$db) {
die('Could not connect to db: ' . mysql_error());
}
//Select the Database
mysql_select_db("test_json",$db);
//Replace * in the query with the column names.
$result = mysql_query("select * from employee", $db);
//Create an array
$json_response = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$row_array['id_employee'] = $row['id_employee'];
$row_array['emp_name'] = $row['emp_name'];
$row_array['designation'] = $row['designation'];
$row_array['date_joined'] = $row['date_joined'];
$row_array['salary'] = $row['salary'];
$row_array['id_dept'] = $row['id_dept'];
//push the values in the array
array_push($json_response,$row_array);
}
echo json_encode($json_response);
//Close the database connection
fclose($db);
?>
view raw get_json.php hosted with ❤ by GitHub

DONE



*************************************************************************
 More Advance
If you want to create a API which Provide data on pass parameter then you can use following code:

The following code used in for parameter pass for geting data in json format

http://localhost/test_more_advance.php?no=10

<!DOCTYPE html>
<html>
<head>
<title>web service for Song list </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>Test PHP </div>
<?php
// header('Content-type: html/text');
/* include db.config.php */
$db_host = 'localhost'; //hostname
$db_user = 'root'; // username
$db_password = ''; // password
$db_name = 'test'; //database name
$conn = mysql_connect($db_host, $db_user, $db_password );
mysql_select_db($db_name, $conn);
$no=isset($_GET['no']) ? mysql_real_escape_string($_GET['no']) : "";
if(empty($no)){
$data = array("result" => 0, "message" => "Wrong id Let �s try once again!");
} else {
$i=0;
// get user data
$sql = 'SELECT * FROM `employee` limit '.$no;
$select = mysql_query($sql);
$result = array();
while($data = mysql_fetch_assoc($select)) {
$result[] = $data;
$data = array("result" => 0, "data" => $result);
// echo "name =".$data['data'][$i]['emp_name'];
$i++;
echo '<br />';
}
$data = array("result" => 0, "data" => $result);
}
mysql_close($conn);
// header('Content-type: application/json');
echo json_encode($data);
?>
</body>
</html>
//Test your JSON on http://pro.jsonlint.com/
//***********************
//PHP interview Question
//*************************************************
//Click here : - See more at: http://php999.blogspot.in/

 



6 comments:

  1. This post is from 2015. Why are you using mysqli? mysql was deprecated long ago.

    ReplyDelete
  2. this is a basic understanding for newbie who started programming in PHP in our new post we will post PDO and mysqli

    ReplyDelete
  3. SAP MM,SD, real Time Training in Chennai
    We provides Best SAP MM,SD Training in Chennai wih real time project assistance by our leading Materail Management Consultant.
    For Free Live Demo @ Call to 8122241286.
    www.thecreatingexperts.com
    SAP MM
    SAP SD

    ReplyDelete
  4. This site is help full for every person and easily get money through bitcoin atm card . Please visit this site for bitcoin atm card ranking.you can change any money into another currency in any where in the world.

    ReplyDelete
  5. There is no better idea of keeping your mobile loaded with balance all the time. If you are also looking for any useful way to utilize your top up phone with bitcoin then hurry up and avail our service as much as can. There is no limit of it. Make your mobile life happier with balance recharge through NETELL.NET. COME SOON .THANK YOU .

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete

How to Host a Laravel Project on Hostinger’s hPanel: A Step-by-Step Guide

How to Host a Laravel Project on Hostinger’s hPanel: A Step-by-Step Guide If you're looking to host a Laravel project on Hostinger’s hPa...