تبدیل اطلاعات دیتابیس به json در php

0 رأی
میانگین بازدید روزانه 1.272,581 بازدید
می خواهم اطلاعات موجود در دیتابیس mysql را پس از خواندن از دیتابیس به json تبدیل کنم.
سوال 5 سال قبل در تالار برنامه نویسی توسط engineer (818 امتیاز)

2 جواب

+1 رأی

برای این کار در خود PHP می توان خیلی آسان از دو تابع زیر استفاده کرد :

  • json_encode
  • json_decode

و برای تبدیل کل آن می توانید از این توابع استفاده کنید مانند :

$menu = $dbConnection->prepare("SELECT * FROM menu WHERE parent = 0");
$menu->execute();
var_dump(json_encode($menu->fetchAll()));

خروجی :

خوب حالا یک طور دیگه فرص بر این شما نیاز دارید به یک مقدار خاص دسترسی داشته باشید این گونه می توانید به مقدار موجود دسترسی پیدا کنید من از Object استفاده کردم شما می توانید با تغییر fetchobject به fetch->(PDO::FETCH_ASSOC) به صورت آرایه بگیرید خوب این هم مثال :

$menu = $dbConnection->prepare("SELECT * FROM menu");
$menu->execute();
while ($menus = $menu->fetchObject()) {
        $menus = json_encode($menus->label);
        print $menus.'<br />';

}

خروجی :

برای رفع مشکل UTF در JSON متد json_encode را با پارامتر JSON_UNESCAPED_UNICODE پر کنید :

   $menus = json_encode($menus->label, JSON_UNESCAPED_UNICODE);

 

جواب 5 سال قبل توسط hosseini (1,852 امتیاز)
ویرایش 5 سال قبل توسط hosseini
من اطلاعاتم رو دیتابیس فارسیه ولی خروجی جیسون که میگیرم علامت سوال میشه چیکارکنم؟
0 رأی

تابعی با نام json_encode در PHP وجود دارد که می تواند با اعمال تغییراتی در آرایه ای که از نتیجه query اجرا شده بر روی MySQL بدست آمده است، آن را یه فرمت JSON تبدیل کند:

<?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);
 
?>
جواب 5 سال قبل توسط Saeed Zarinfam (553 امتیاز)

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.08183 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.22356 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.11247 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.18295 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.32530 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.14302 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.3139 بازدید
سوال 1 سال قبل در تالار برنامه نویسی توسط keynet (0 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.621,238 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.13218 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.12126 بازدید
کانال تلگرام جواب یاب
...