رفتن به مطلب

اتصال و دریافت اطلاعات دیتابیس یک سرور


ارسال‌های توصیه شده

با سلام 

دوستان عزیز

یک سرور داریم میخاییم توسط php با دیتابیس ان ارتباط برقرار کنیم و اطلاعات جداول ان را دریافت کنیم 

از چ راههایی میشه استفاده کرد ممنونم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام، وقت بخیر

با استفاده از کدهای php زیر می توانیم اطلاعات یک جدول از دیتابیس آنلاین را از سرور گرفته و به صورت جیسون در خروجی چاپ کنیم:

<?php

header("Access_Control_Allow_Origin: *");
header("Content_Type: application/json; charset=UTF_8");

$servername = "localhost";
$username = ""; //یوزر نیم دیتابیس
$password = ""; //رمز عبور دیتابیس
$dbname = ""; //نام دیتابیس
$tbname = ""; //نام جدولی که قرار است اطلاعات از آن واکشی شود
$json_name = ""; //این کلمه به عنوان نام جیسون انتخاب خواهد شد

// ساخت یک کانکشن جدید
$conn = new mysqli($servername, $username, $password, $dbname);
// چک کردن فرایند کانکشن
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error); //اگر اتصال به دیتابیس ناموفق بود کانکشن را از بین ببر و علت را در خروجی چاپ کن
} 

	$sql = "SELECT * FROM"." ".$tbname;
	$result = $conn->query($sql);
	

$outp = '{"'.$json_name.'":[';


while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
    if ($outp != '{"'.$json_name.'":[') {$outp .= ",";}
  
  //بخش زیر را حتما بر اساس کار خود تنظیم کنید
  //باید نام ستون های جدول وارد شود
  //در اینجا 3 ستون اضافه شده است اگر ستون های شما کم و یا زیاد است میتوانید تنظیم کنید
    $outp .= '{"user_id":"'  . $rs["user_id"] . '",';
    $outp .= '"user_email":"'. $rs["user_email"]     . '",'; 
 	$outp .= '"user_pass":"'. $rs["user_pass"]     . '"}'; 


}
$outp .="]}";

$conn->close();

echo($outp); //چاپ اطلاعات مرتب شده بصورت جیسون در خروجی

?>

توجه داشته باشید که متغیرهای زیر را مقدار دهی کنید:

$username = ""; //یوزر نیم دیتابیس
$password = ""; //رمز عبور دیتابیس
$dbname = ""; //نام دیتابیس
$tbname = ""; //نام جدولی که قرار است اطلاعات از آن واکشی شود
$json_name = ""; //این کلمه به عنوان نام جیسون انتخاب خواهد شد

همچنین در آخر نام ستون های خود را اضافه کنید.

کد های بالا را در یک ادیتور php یا نوت پد قرار دهید و با فرمت "php." ذخیره کنید، سپس فایل php حاوی کدهای بالارا در هاست آپلود و آدرس فایل را در مروگر وارد کنید. اگر همه اطلاعات را درست وارد کرده باشید (مثلا یوزرنیم، رمز عبور، نام جدول، نام دیتابیس و در آخرسر نام ستون ها)، اطلاعات بصورت جیسون در صفحه مروگر شما چاپ خواهد شد در غیر اینصورت علت خطا چاپ خواهد شد.

 

موفق باشید. :53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 4 هفته بعد...

متشکرم بابت پاسخگویی 

فقط بعدش در b4a چطور میتونم دادهای جسیون رو دریافت کنم 

روش دریافت این اطلاعات جیسون در b4a  چطور خواهخد بود متشکرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۸ در 01:50، tarh tarh گفته است:

متشکرم بابت پاسخگویی 

فقط بعدش در b4a چطور میتونم دادهای جسیون رو دریافت کنم 

روش دریافت این اطلاعات جیسون در b4a  چطور خواهخد بود متشکرم

ابتدا کتابخانه HttpUtils2 را تیک می زنیم.

	Private Download_Json As HttpJob
	Download_Json.Initialize("Download_Json" , Me)
	Download_Json.Download("http://MyDomain.ir/1.php")'لینک فایل پی اچ پی را در اینجا جایگزین کنید
    
    Wait For (j) JobDone(j As HttpJob)
	If j.Success Then
		Log(j.GetString)'چاپ جیسون دریافت شده در بخش لاگ
	End If

سپس یک متغیر از کلاس HttpJob تعریف می کنیم.

متغیر را initialize می کنیم و سپس متد Download را صدا می زنیم که یک پارامتر ورودی از نوع string لازم دارد که در آن لینک فایل php که حاوی کدهای واکشی اطلاعات از دیتابیس و تبدیل آن به جیسون است رو قرار می دهیم.

اگر اینترنت کاربر وصل باشد بلافاصله با فراخوانی متد Download عملیات دریافت جیسون آغاز می شود.

برای بررسی نتیجه دانلود من از قابلیت Wait For استفاده کرده ام اما شما میتوانید از تابع زیر نیز استفاده کنید که درواقع نتیجه دانلود به آن Call Back داده می شود:

Sub JobDone(job As httpjob)

End sub

در نهایت با دستور Log جیسون را چاپ می کنیم حالا شما میتونید مثلا توی یک Msgbox هم j.GetString را قرار دهید.

برای تجزیه جیسون نیز از کتابخانه Json استفاده کنید.

 

حالا ببخشید اینقدر توضیح دادم کلا دست خودم نیست باید همه چیو توضیح بدم:DD:

موفق باشید:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عالی بود دمتتون گرم ی دنیا ممنون دوس عزیز

 

اگه ی نمونه سورس ه معرفی کنید ک نور علی نور میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...