JSON PHP
- পূর্ববর্তী পৃষ্ঠা JSON সার্ভার
- পরবর্তী পৃষ্ঠা JSON HTML
JSON-এর সাধারণ ব্যবহার হল ওয়েব সার্ভার থেকে ডাটা পড়া এবং তা ওয়েবপেজে দেখানো
এই চাপটিতে আপনাকে PHP সার্ভার এবং ক্লায়েন্টের মধ্যে JSON ডাটা আদান-প্রদানের কিভাবনো শিখতে হবে
PHP ফাইল
PHP JSON-এর ব্যবস্থা প্রদান করে
PHP ফাংশন ব্যবহার করে json_encode()
PHP-এর অবজেক্ট JSON-এ রূপান্তর করা যায়:
PHP ফাইল
<?php মাই ওবজেক্ট->নাম = "বিল গেটস"; মাই ওবজেক্ট->এজ = 62; $myObj->city = "Seattle"; $myJSON = json_encode($myObj); echo $myJSON; ?>
ক্লায়েন্ট জাভাস্ক্রিপ্ট
এটি ক্লায়েন্টের JavaScript, যা AJAX কার্যক্রম দ্বারা PHP ফাইলটির জন্য অনুরোধ করে:
প্রকল্প
ব্যবহার JSON.parse()
ফলাফলকে JavaScript অবজেক্টে রূপান্তর করুন:
var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); document.getElementById("demo").innerHTML = myObj.name; }); }); xmlhttp.open("GET", "demo_file.php", true); xmlhttp.send();
PHP আর্রেইজ
PHP ফাংশন ব্যবহার করতে json_encode()
তখন, PHP-এর আর্রেইজও JSON-এ রূপান্তর করা হবে:
PHP ফাইল
<?php $myArr = array("Bill Gates", "Steve Jobs", "Elon Musk"); $myJSON = json_encode($myArr); echo $myJSON; ?>
ক্লায়েন্ট জাভাস্ক্রিপ্ট
এটি ক্লায়েন্টের JavaScript, যা AJAX কার্যক্রম দ্বারা PHP ফাইলটির জন্য অনুরোধ করে:
প্রকল্প
ব্যবহার করুন JSON.parse()
ফলাফলকে JavaScript আর্রেইজে রূপান্তর করুন:
var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); document.getElementById("demo").innerHTML = myObj[2]; }); }); xmlhttp.open("GET", "demo_file_array.php", true); xmlhttp.send();
PHP ডাটাবেস
PHP সার্ভার পার্শ্ব প্রোগ্রামিং ভাষা, যা শুধুমাত্র সার্ভার দ্বারা কার্যকর হওয়ার জন্য ব্যবহার করা হবে, যেমন ডাটাবেস প্রবেশ করা。
চিন্তা করুন, সার্ভারে একটি ডাটাবেস রয়েছে, যাতে ক্লায়েন্ট, পণ্য এবং সরবরাহকারীর তথ্য রয়েছে。
এই মুহূর্তে, আপনাকে "ক্লায়েন্ট" টেবিলের প্রথম দশটি রেকর্ড পাওয়ার জন্য সার্ভার থেকে অনুরোধ করতে হবে:
প্রকল্প
ব্যবহার করুন JSON.stringify()
জাভাস্ক্রিপ্ট অবজেক্টকে JSON-এ রূপান্তর করুন:
obj = { "table":"customers", "limit":10 }; dbParam = JSON.stringify(obj); xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; }); }); xmlhttp.open("GET", "demo_json_db.php?x=" + dbParam, true); xmlhttp.send();
উদাহরণ ব্যাখ্যা:
- টেবল এবং লিমিট প্রতিমূলক একটি অবজেক্ট নির্বাচন করুন。
- এই অবজেক্টকে JSON স্ট্রিং রূপে রূপান্তর করুন。
- এই PHP ফাইলে প্রচেষ্টা পাঠান, JSON হিসাবে প্রামাণ্যসূত্রসমূহ পাঠান
- প্রচেষ্টা ফলাফল পাওয়া অপরান্ত অপেক্ষা করুন (জিএসএন (JSON) রূপে)
- পিএইচপি ফাইল থেকে পাওয়া ফলাফল দেখান
পিএইচপি ফাইল দেখুন
PHP ফাইল
<?php header("Content-Type: application/json; charset=UTF-8"); $obj = json_decode($_GET["x"], false); $conn = new mysqli("myServer", "myUser", "myPassword", "Northwind"); $result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit); $outp = array(); $outp = $result->fetch_all(MYSQLI_ASSOC); echo json_encode($outp); ?>
PHP ফাইলের ব্যাখ্যা:
- প্রচেষ্টা অবজেক্টটিকে পরিবর্তন করুন, PHP ফাংশন ব্যবহার করে:
json_decode()
. - ডাটাবেস পরিভ্রমণ, যুক্ত করা ডাটা দ্বারা আইন্দ্রীয়কমান্ড (আর্রেই) পূর্ণ করুন。
- আইন্দ্রীয়কমান্ড (আর্রেই) কে অবজেক্টে যোগ করুন,
json_encode()
ফাংশন জিএসএন (JSON) দ্বারা অবজেক্টটি ফেরত দেয়。
ফলাফল পরিভ্রমণ
পিএইচপি ফাইল থেকে পাওয়া ফলাফলকে জেভাস্ক্রিপ্ট অবজেক্টে রূপান্তর করুন বা এই উদাহরণে, একটি জেভাস্ক্রিপ্ট আইন্দ্রীয়কমান্ড (আর্রেই) হিসাবে পাওয়া যায়:
প্রকল্প
ব্যবহার JSON.parse()
জিএসএন (JSON) কোডকে জেভাস্ক্রিপ্ট অবজেক্টে রূপান্তর করুন:
... xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); for (x in myObj) { txt += myObj[x].name + "<br>"; }); document.getElementById("demo").innerHTML = txt; }); }); ...
PHP পদ্ধতি = POST
সেবার্নার থেকে ডাটা পাঠানোর সময়, সাধারণত, HTTP POST পদ্ধতি ব্যবহার করা হয়。
এক্সিজক্স (AJAX) প্রচেষ্টা পোস্ট (POST) পদ্ধতি ব্যবহার করে পাঠাতে হবে, যেমন নীতি ও উপকরণগুলো নির্দিষ্ট করুন。
সেবার্নার থেকে পাওয়া ডাটা শুধুমাত্র .send();
পদ্ধতির প্রাপ্ত প্রামাণ্যসূত্রসমূহ:
প্রকল্প
obj = { "table":"customers", "limit":10 }; dbParam = JSON.stringify(obj); xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); for (x in myObj) { txt += myObj[x].name + "<br>"; }); document.getElementById("demo").innerHTML = txt; }); }); xmlhttp.open("POST", "demo_json_db.php", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send("x=" + dbParam);
PHP ফাইলের একমাত্র পার্থক্য হল প্রেরিত ডাটা সংগ্রহ করার পদ্ধতি。
PHP ফাইল
ব্যবহার $_POST
বদলে $_GET
:
<?php header("Content-Type: application/json; charset=UTF-8"); $obj = json_decode($_POST["x"], false); $conn = new mysqli("myServer", "myUser", "myPassword", "Northwind"); $result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit); $outp = array(); $outp = $result->fetch_all(MYSQLI_ASSOC); echo json_encode($outp); ?>
- পূর্ববর্তী পৃষ্ঠা JSON সার্ভার
- পরবর্তী পৃষ্ঠা JSON HTML