رفتن به مطلب
  • 0

ثبت اطلاعات سبد خرید دیتابیس آفلاین در آنلاین


msd313

سوال

با سلام خدمت همه دانشمندان عزیز

راستش من یه فروشگاه دارم درست میکنم
کاربر میاد چند تا محصول به سبد خرید اضافه میکنه
من اومد برای سبد خرید از دیتابیس آفلاین استفاده کردم که هر محصول رو اگه خواست ذخیره میکنه و محصول جدید رو انتخاب میکنه
حالا میخوام این محصولات رو که فرض میکنیم 3 محصول باشه رو بفرستم به دیتابیس آفلاین
کد B4A این عملیات چی میشه؟
و همچنین کد php این کار ؟

چون برای یک محصول راحته و بلدم ولی وقتی چند محصول میشه یعنی جدول 3 بار باید پر بشه واینو نمیدونم

ممنون میشم راهنمایی ام کنید.

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

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

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

در 58 دقیقه قبل، msd313 گفته است :

$obj = json_decode($_POST["mybasket"], false);

فقط باید به جای false در کد بالا true می نوشتم.
تشکر ویژه از مجید آرتاوM-CAP7AIN

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

یه نکته هم اشاره کنم ، اینجا آرایه جیسون دیکد شده به صورت آبجکت هست (با یه روش دیگه میشه آبجکت رو گرفت)

[0] => stdClass Object

با True شدن مقدار دیکد ، (آبجکت به آرایه تبدیل میشه)

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

سلام

کد خاصی نمیخواد.

کار با دیتابیس رو که یاد دارید دیگه ؟

توی یک جدول این اطلاعات رو اضافه کنید.

دقیقا بگید کجای کارو مشکل دارین تا راهنمایی کنیم.

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

من الآن به عنوان کاربر 3 تا محصول رو توی دیتا بیس آفلاین برنامه ثبت کردم
حالا میخوام با کلیک بر روی نهایی کردن خرید این 3 محصول رو بفرستم به php و اون توی دیتابیس ثبت کنه
اون کدی که داخل دکمه نهایی کردن خرید باید بنویسم رو نمیدونم و همچنین کد php که سه تا محصول رو همزمان توی دیتابیس ثبت کنه رو هم نمیدونم

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

برای من دیکد نمیشه دلیلش چی میت.نه باشه؟

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

دوست عزیز شما باید از دستور wait for برای ارسال استفاده کنی در b4a و در تیبل انلاین ذخیره و serialize کنی و تو یه جدول دیگه بر اساس ایدی ذخیره کنی

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

خب اون سه تا محصول رو بریز توی یک متغیر لیست

بفرست سمت وب سرویس.

اضافه کردنشم توی دیتابیس php  دیگه نباید کار سختی باشه.

این لیست رو توی وب سرویس میخونی با حلقه یکی یکی اینارو میریزی توی دیتابیس انلاینت

کد php  شم که توی وب موجوده.

شما کافیه از اندروید اطلاعات رو به صورت لیست با فرمت جیسون بفرستین.

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

زیاد مبحث سخت و پیچیده ای نداره.حلقه توی php  رو یاد بگیرید و insert  کردن اطلاعات توی دیتابیس

یکی هم خوندن اطلاعات جیسون از سمت اندروید که میتونید به صورت get  یا post  این کارو انجام بدین.

 

کد ارسال جیسون به سرور ( مثال ):

Private data As Map
Dim OrderList As List
OrderList.Initialize
Dim cr As Cursor
For i = 0 To cr.RowCount - 1
	cr.Position = i
	data.Initialize
	data.Put("product",cr.GetString("ProductName"))
	data.Put("quantity", cr.GetInt("Quantity"))
	data.Put("amount",cr.GetString("Amount"))
	OrderList.Add(data)
Next

Private Generator As JSONGenerator
	Generator.Initialize2(OrderList)
	If IsPost Then
		http.PostString("http://site.com/webservice.php","MyJSON=" & Generator.ToString)
	Else
		http.Download2("http://site.com/webservice.php",Array As String("MyJSON",Generator.ToString))
	End If

 

کد php شم خودتون تست کنید من مستقیما از W3Schools  کپی کردم و تستی انجام ندادم:

<?php
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["MyJSON"], false); 


#write code for get data from json


?>

اگه بخوایید گت باشع که $_GET  اگر پست خواستید $_POST.

در ادامه حلقتونو مینویسید و اطلاعات جیسون رو توی دیتابیستون درج میکنید.

 

در ضمن شما باید دیتابیستون رو طوری طراحی کنید که چندین مخصول رو بتونید برای یک سفارش در نظر بگیرید و بالعکس.

یک سرچ ساده درمورد نرمال سازی پایگاه داده بزنید اولین مثالی که زده میشه همین موضوع فروشگاه و محصول هستش و راحت میتونید پایگاه دادتونو تا یک سطح مناسب نرمالسازی کنین.

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

در 4 ساعت قبل، msd313 گفته است :

کد رو بذار ببینیم ایراد از کجاست

$obj=json_decode($_POST['json'],true);
print_r($obj);
var_dump($obj);

الان از $_POST وقتی اکو میشه مقادیر رسال شده ولی رو print_r مقدار تهی میده و وقتی var میگیرم null میده

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

در 12 ساعت قبل، M-CAP7AIN گفته است :

احتمالا رشته جیسون دریافتی یه مشکلی داره

نه درسته وقتی echo میکنم مقدار دریافتی همون کپی میکنم تو کار میکنه ؟

 

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

من این مشکل رو داشتم اینطور حل شد:
 

$obj = json_decode($_POST["json"], true);
foreach($obj as $myobj)
var_dump($myobj);

 

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

در 4 ساعت قبل، msd313 گفته است :

من این مشکل رو داشتم اینطور حل شد:
 


$obj = json_decode($_POST["json"], true);
foreach($obj as $myobj)
var_dump($myobj);

 

این دقیق کد خودمه کار نمیکنه :|

$str='"'.$_POST["Json"].'"';

$obj=json_decode($str,true);
var_dump($obj);

اینجوری دیکد میشه ولی تو foreach ارور میده

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

خب مطمئنی ایراد از بیسیک نیست یعنی اطلاعات بصورت جیسون ارسال میشه؟

الآن ایرادت دقیقاً کجاست این اطلاعات دیکد شده رو میخوای چیکار کنی که نمیشه؟

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

در 8 ساعت قبل، msd313 گفته است :

خب مطمئنی ایراد از بیسیک نیست یعنی اطلاعات بصورت جیسون ارسال میشه؟

الآن ایرادت دقیقاً کجاست این اطلاعات دیکد شده رو میخوای چیکار کنی که نمیشه؟

الان میخوام اطلاعات از تو سرور بگیرم ارور میده . کد سمت بیسیک دقیقا کپی پست کردم اگه ممکنه شما کد سمت بیسیک بدید کتابخونه json هم 1.1

 

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

بعد از کلی جست جو علت پیدا کردم گفتم اینجا بگم دوستانی که مشکل دارن مشکلشون برطرف شه

magic_quotes_gpc  اگر روی هاستتون فعال باید غیرفعال کنید یا از کد زیر برای دریافت اطلاعات استفاده کنید

$stringJSON = get_magic_quotes_gpc() ?
    stripslashes($_GET['jsonstring']) : $_GET['jsonstring'];

موفق باشید

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

در در 1397/10/25, 22:49:36، مجید آرتا گفته است :

در ادامه حلقتونو مینویسید و اطلاعات جیسون رو توی دیتابیستون درج میکنید.

ممنون بابت کدهای بیسیک، خدا مادر بچه هات رو زیاد کنه
اما میمونه این کدهای حلقه که متاسفانه چیزی پیدا نکردم
اگه امکانش هست راهنمایی کنید

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

    $obj = json_decode($_GET["MyJSON"], false); 

    foreach ($obj as $mydata) {
        $product 	= $mydata['product'];
        $quantity 	= $mydata['quantity'];
        $amount 	= $mydata['amount'];


		echo $quantity;
    }

 

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

در 13 ساعت قبل، M-CAP7AIN گفته است :

    $obj = json_decode($_GET["MyJSON"], false); 

    foreach ($obj as $mydata) {
        $product 	= $mydata['product'];
        $quantity 	= $mydata['quantity'];
        $amount 	= $mydata['amount'];


		echo $quantity;
    }

 

خیلی ممنون دوست عزیز من میخوام بدونم اینجا چطوری باید اینا رو توی دیتابیس insert کنم؟

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

در ۱ ساعت قبل، msd313 گفته است :

خیلی ممنون دوست عزیز من میخوام بدونم اینجا چطوری باید اینا رو توی دیتابیس insert کنم؟

    $obj = json_decode($_GET["MyJSON"], false); 

    foreach ($obj as $mydata) {
        $product 	= $mydata['product'];
        $quantity 	= $mydata['quantity'];
        $amount 	= $mydata['amount'];


	sql = "INSERT INTO `tablename` (product, quantity, amount) VALUES (".$product.", ".$quantity." , ".$amount." )";
	mysqli_query($conn, $sql); 

    }

نمونه ساده کوئری.

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

بایگانی شده

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

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

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