چگونگی کار با Json و بانک اطلاعات MySQL با استفاده از PHP
Loading...
کار با Json

با شما هستم با یک مقاله آموزشی و کاربردی زبان PHP سعی کردم در این مطلبم چگونگی کار با Json را آموزش دهم و آن را در بانک اطلاعاتی MySQL برسی کنم و توضیحاتی را بنویسم. json مخفف JavaScript Object Notation هست که در واقع فرمتی از TEXT برای ذخیره و بازیابی اطلاعات در زبانهای مختلف می باشد و می توان برای رد و بدل کردن اطلاعات در بین زبانهای مختلف برنامه نویسی استفاده کرد. مثلا بین PHP و جاوااسکریپت. چیزی که بیشتر به ذهن من می رسد جایگزینی برای XML است که از دارای مزیتهای زیادی در این باره می باشد. یکی اینکه دسترسی به اطلاعات آن راحتتر هست و دیگر نیازی به استفاده از توابع بسیار سخت DOM برای دسترسی به اطلاعات نیست .در ادامه درباره JSON بیشتر صحبت خواهم کرد و مزیت های آن را برسی خواهیم کرد.

مزیت های کار با Json چیست ؟

۱.    اطلاعات Json کم حجم و با فرمت قابل تغییر است.
۲.    Json زبان مستقل و شبیه به همه ی زبان های برنامه نویسی مثل C, C++, C#, PHP, Java است.
۳.    Json یک زبان برنامه نویسی خود توصیف و قابل فهم است.
بیشتر اپلیکیشن های شبکه های اجتماعی مانند فیسبوک، تویتر، رائه دهنده خدمات جغرافیایی مثل گوگل، سازندگان Rest Soap API و هزاران نرم افزار، تکنولوژی و frameworks ماننده این ها از  تبادل اطلاعات Json استفاده می کنند.

ساختار Json

۱.    اشیای Json (Object)  : یک کلکسیون از نام ها و ارزش ها است. در زبان های مختلف به عنوان یک شِیء ، رکورد، ساختار، دیکشنری، جدول، لیست کلیدها و یا آرایه های انجمنی در نظرگرفته می شود.
یک شی با { left brace (بند سمت چپ)} شروع میشه و با { right brace (بند سمت راست)} تمام میشه. هر اسم از یک : (دو نقطه) پیروی می کنه و این اسم با (کاما) جدا میشه.

مثال :

 Ex:- {"name":"Divya", "Stream":"CS"}

۲.    نظم Json  : یک لیست منظم شده از ارزش هاست. در اکثر زبان ها این به عنوان یک نظم، حامل (Vector)، لیست و یا دنباله در نظر گرفته میشه.
یک نظم (آرایه) با یک left bracket شروع میشه و با یک right bracket تمام میشه.
مثال:

Ex: {"Divya", "CS"}.

حالا اینجا توضیح می دهیم که چگونه اظلاعات (دیتا) رو از بانک اطلاعات MySQL بیاریم و با فرمت Json نمایش بدیم.
قدم اول:  یک جدول ثبت در بانک اطلاعات MySQL بسازید.

کار با Json

قدم دوم: حالا کد را در فایل PHP بنویسید.

<?php  
$username="root";  
$password="";  
$hostname = "localhost";  
//connection string with database  
$dbhandle = mysql_connect($hostname, $username, $password)  
or die("Unable to connect to MySQL");  
echo "Connected to MySQL<br>";  
// connect with database  
$selected = mysql_select_db("abc",$dbhandle)  
or die("Could not select examples");  
//query fire  
$result = mysql_query("SELECT * FROM register");  
$json_response = array();  
// fetch data in array format  
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {  
// Fetch data of Fname Column and store in array of row_array  
$row_array['Fname'] = $row['Fname'];  
//push the values in the array  
array_push($json_response,$row_array);  
}  
//  
echo json_encode($json_response);  
?>  
json_encode() - Returns the JSON representation of a value.  

قدم سوم: بازده ما …

کار با Json



مطالب مرتبط
ديدگاه خود را ارسال کنيد


۱۸ دیدگاه رو شما می توانید ببینید
  1. سلام
    من دقیقا از همین کد استفاده کردم اما نتیجه اصلا اینطوری نمایش داده نشد… تعداد رکوردها درسته ولی نمایش نه… من از یه هاست رایگان استفاده می کنم…
    حاصلش شد این:

     Connected to MySQL
    [{"\u2018user_login\u2019":null}]json_encode() – Returns the JSON representation of a value. 

    مشکل چیه؟
    ممنون میشم راهنمایی کنید

  2. واقعا ممنونم
    بسیار سایت مفیدی دارین
    مثل شما نمونه ی خارجی هم ندیدم حتی !!
    ۱خط کد میخواستم ۳ساعته دارم میگردم آخرش اینجا دیدم
    ممنووووون

  3. سلام خسته نباشید

    من دقیقا اژ همین کد ها استفاده کردم ولی اینطوری چاپ میکنه:

     Connected to MySQL
    [{"\u2018matn\u2019":null},{"\u2018matn\u2019":null},{"\u2018matn\u2019":null},{"\u2018matn\u2019":null},{"\u2018matn\u2019":null}]json_encode() – Returns the JSON representation of a value. 

    ممنون میشم کمکم کنید خیلی حیاتیه لازمه یاد بگیرم آخه دارم یک برنامه ی اجتماعی می سازم
    می خوام از json استفاده کنم لفا اگه میشه بیشتر توضیح بدید خیلی ممنونتون میشم
    بی صبرانه منتظر جوابتون هستم
    در پناه حق
    التماس دعا

  4. سلام خسته نباشید

    ببخشید باز مزاحم شدم
    مشکلو پیدا کردم
    مشکلو بیان میکنم تا دوستان دیگر هم استفاده کنن
    در کد php در این قسمت $row_array[‘Fname’] = $row[‘Fname’];
    متغیر اولی با تک کوتیشن هست اون که مشکلی نداره در بخش دوم بایستی اون تک کوتیشن رو بردارید به این صورت باید بنویسید اولی که [‘Fname’] و دومی [Fname] بدون تک کوتیشن
    موفق باشید و ممنون از مدیریت محترم سایت که این مبحث را مطرح کردن اینکه چجوری با بانک اطلاعتی با روش json ارتباط برقرار کنیم من خیلی دنبال این مطلب بودم و بلاخره اینجا پیدا کردم خیلی ممنون و سپاسگذار
    در پناه حق
    التماس دعا

  5. سلام خسته نباشید

    واقعا شرمنده باز مزاحم شدم
    و بار هم به یک مشکل بزرگ برخوردم که هر چی تو اینترنت سرچ زدم چیزی پیدا نکردم
    اونم اینه که اطلاعات انگلیسی از بانک اطلاعاتی که مشکلی نداره و به صورت صحیح درج میشه ولی در رابطه با زبان فارسی مشکل داره و به صورت کاراکتر هایی نمایش میده و … خلاصه با زبان فارسی مشکل داره
    سمت بانک اطلاعاتی که utf-8 زدم نه اینکه بگید مشکل از پایگاه دادس نه وقتی اطلاعات رو میخواد در فایل پی اچ پی که ساختیم درج کنه همه چی میریزه به هم لطفا اگه چیزی در این باره میدونید بگید خیلی خوش حال میشم
    در ضمن خیلی ممنون میشم اگه جوابو سریع به اطلاع بنده برسونید چون در حال انجام پروژه ی جدید هستم و کارم لنگه بابت این مسئله
    سپاسگذارم
    در پناه حق
    التماس دعا

    • سلام آقا محمود گل
      راستش من الان به سیستم شخصیم دسترسی ندارم
      من خودم دقیقا با همین مشکل مواجه شده بودم و چیزی که الان یادم هست اینه :
      mysql_query(“SET NAMES ‘utf8′”);
      mysql_query(“SET CHARACTER SET utf8”);
      mysql_query(“SET SESSION collation_connection = ‘utf8_unicode_ci'”);

      این سه خط رو بعد از برقراری ارتباط با دیتابیس قرار بده ببین نتیجه داره یا نه
      یا حق

  6. سلام خسته نباشید

    خیلی ممنون آقا ساسان گل بابت پاسختون

    بنده مشکلم حل شده و باز هم از اینکه خواستید به بنده کمک کنید خیلی ممنونم
    من از این روش برای ارتباط با دیتابیس استفاده کردم و مشکلم حل شد:

    $host=”نام هاست”;
    $username=”نام کاربری”;
    $password=”رمز عبور”;
    $db=”نام دیتابیس”;
    $connection=mysql_connect(“$host”,”$username”,”$password”) or die (‘Failed to connect to database’);
    mysql_query(“SET NAMES ‘utf8’ ” , $connection);
    mysql_query(“SET CHARACTER SET ‘utf8′ “,$connection);
    mysql_query(“SET character_set_connection=’utf8’ “,$connection);
    mysql_select_db(“$db”);

    ان شا الله که همیشه و در همه حال شاد و موفق و پیروز باشید و براتون آرزوی موفقیت دارم
    در پناه حق
    التماس دعا

  7. سلام
    من هم مشکل کاربر محمود رو دارم و از روش های شما هم استفاده کردم فایده نداشت.
    {“name_bi”:”\u062a\u0627\u0645\u06cc\u0646 \u0627\u062c\u062a\u0645\u0627\u0639\u06cc”}]
    متن انگلیسی رو خوب نمایش میده اما برای فارسی به شکل بالا.
    لطفا کمکم کنید…

  8. ممنون از سایت خوبتون

    • سلام دوست عزیز

      آیا هاستی که دارید از php 5.4 پشتیبانی میکنه؟چون اون کدی که طر بالا مطرح کردم فقط در php 5.4 به بالا جواب میده برای نسخه های پائین هم کدی پیدا کردم اما متاسفانه در برنامه به درستی کار نمیکنه و به مشکل بر میخورید شایدم راه حلی برای ان مسئله وجود داشته باشد اما بنده بیخبرم و دیگر پیگیر این مسئله نشدم و از همان نسخه ی پی اچ پی که در بلا ذکر شد استفاده کردم.

  9. با سلام
    استفاده از
    echo json_encode($json_response, JSON_UNESCAPED_UNICODE);
    بجای
    echo json_encode($json_response);

  10. سلام، مرسی از سایت خوبتون، کد به درستی کار میکنه!
    فقط میشه نحوه نمایشش در جای دیگه رو هم یاد بدین ؟
    ممنون

محبوب ترين ويدئو هاي انلاين
دوره برنامه نویسی فروشگاه اینترنتی
  • تعداد اعضا 80k
  • قيمت دوره۱۰۰,۰۰۰ تومان
  • امتيازدهي
    1 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 5( 5٫00 از 1 رای )
    Loading...
دوره آموزشی سیستم ثبت سفارش آنلاین
  • تعداد اعضا 80k
  • قيمت دوره۵۰,۰۰۰ تومان
  • امتيازدهي
    1 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 5( 5٫00 از 1 رای )
    Loading...
دوره طراحی سیستم مدیریت مشتریان
  • تعداد اعضا 80k
  • قيمت دوره۵۰,۰۰۰ تومان
  • امتيازدهي
    1 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 5( 5٫00 از 1 رای )
    Loading...