Flutter Dev نشر 20 فبراير 2022 أرسل تقرير نشر 20 فبراير 2022 لدي فكرة ولكني لم اعرف طريقة تنفيذها بشكل الصحيحة، لدي تطبيق يعرض منتجات مختلفة ارغب ان اضع لكل منتج رقم عشوائي مختلفة بحيث ان ارقام المنتجات لن تتشابه ابدا اعلم ان طريقة عمل رقم من خلال دالة random numbers في فلاتر وسوف اقوم بتخزين هذا الرقم بجانب كل طلب في جدول البيانات في قاعدة البيانات ولكني لست افهم حقيقة طريقة التاكد ان الرقم لن يعود يتكرر لدى منتج اخرى بحيث ان هذا الرقم لن يتكرر في حقل قاعدة البيانات اي افكار لفعل ذلك تساعدنا او شرح لطريقة عمل محدده؟ 1 اقتباس
1 شرف الدين حفني نشر 20 فبراير 2022 أرسل تقرير نشر 20 فبراير 2022 يمكنك توليد رمز uuid (Universally unique identifier) وهو عبارة عن رمز مكون من 128 بيت , مما يعني أنه إن قمنا بتوليد 10تريليون رمز سيكون إحتمالية وجود رمزين متشابهين هي 0.00006 ولتوليد رموز uuid في flutter يمكننا إتباع الخطوات التالية تثبيت مكتبة uuid flutter pub add uuid عمل import للمكتبة import 'package:uuid/uuid.dart'; نقوم بإنشاء كائن من الصنف uuid var uuid = Uuid(); نقوم بعد ذلك بتوليد الرمز عبر مناداة الدالة v4 والتي تقوم بتوليد رمز من الإصدار الرابع وهو أخر إصدار موجود حاليًا للuuid ويعتبر أكثرهم أمانًا وأقلهم عرضةً للتكرار uuid.v4() 1 اقتباس
1 Wael Aljamal نشر 20 فبراير 2022 أرسل تقرير نشر 20 فبراير 2022 لماذا تقوم بتوليد أرقام المنتجات ضمن التطبيق وليس ضمن BackEnd? ولماذا رقم عشوائي بدل رقم تسلسلي في قاعدة البيانات.. 1 اقتباس
1 بلال زيادة نشر 20 فبراير 2022 أرسل تقرير نشر 20 فبراير 2022 كما أخبر المدرب وائل , يجب عليك توليد أرقام عشوائية للمنتجات من طرف الباك أند ، و بالتالي عند إرجاع البيانات من خلال api يمكنك إرجاع البيانات بصورة عشوائية و بحيث يكون التعامل مع طرف فلتر فقط عرض البيانات بناء على البيانات المرجعة من api هذه هي الطريقة الأنسب برأيي ، و طبعاً لماذا تريد توليد أرقام عشوائية و تعتمد عليها هذا سيسبب صعوبة التعامل مع المنتجات من طرف فلتر في طريقة حذف و تعديل المنتجات إذا أعتمدت على الأرقام العشوائية . لو كنت تستخدم لارافل كباك أند فيمكن استخدام التابع inRandomOrder لفرز نتائج الاستعلام عشوائيًا. على سبيل المثال ، يمكنك استخدام هذا التابع لجلب مستخدم عشوائي: $randomProducts = DB::table('products')->inRandomOrder()->get(); و يمكنك إرجاع البيانات كjson return response()->json($randomProducts); 1 اقتباس
1 بلال زيادة نشر 20 فبراير 2022 أرسل تقرير نشر 20 فبراير 2022 بتاريخ 12 دقائق مضت قال مروان مروان3: اهلا اخي الكريم شاكر لك شرحك الغالي بنسبة لماذا احتاجه الفكره كالتالي انا عامل كل منتج يمتكل id مختلف في قاعدة البيانات ولا يتكرر ولكني لا ارغب باستعماله امام المستخدم نوعا من السكيورتي يعنيولكن ارغب بعمل حقل ثاني يحمل نفس الفكره فقط هذا سيكون مثل الالة الحاسبة لعدد المنتجات او ك رقم تسلسل لها بالاضافة الى امكانية استعماله في البحث واظهاره للمستخدم وعمليات الخصومات ايضا وما شابه هل يمكن عمل هذا الخطوه من خلال mysql فقط؟ عمود اضافي يولد الارقام بشكل متسلسل لكل منتج جديد بدون ان يتكرر هذا خطأ ، يمكنك الاعتماد على id الخاص بكل منتج بشكل طبيعي ، عن أي حماية تقصد ، و ماذا سيستفيد من يعرض رقم المنتج , لا داعي لأمور تعقيدية تعقد عمل البرنامج معك , أهتم بحماية الباك أند و حماية المدفوعات هذا سيفي بالغرض و بالإجابة عن سؤال صحيح يمكنك توليد code معين لكل منتج باستخدام mt_rand بهذا الشكل mt_rand(1, 9999); 1 اقتباس
1 Wael Aljamal نشر 22 فبراير 2022 أرسل تقرير نشر 22 فبراير 2022 بتاريخ On 2/20/2022 at 14:11 قال مروان مروان3: هل بيكون مختلف عن ID? primary key; بنسبة الى قاعدة البيانات؟ يمكنك استخدام معرف المنتج ID نفسه الموجود في حقل قاعدة البيانات الذي يتم توليده تلقائياً auto increment عند تحديد حقل ID ك primary key بالضبط، وهكذا لن تكون مسؤول عن إدارة عملية توليد الأرقام العشوائية للمنتجات لأنها طريقة خطأ، الأرقام التسلسلية لا تتكرر وهي المناسبة في حالتك. 1 اقتباس
0 Flutter Dev نشر 20 فبراير 2022 الكاتب أرسل تقرير نشر 20 فبراير 2022 بتاريخ 29 دقائق مضت قال Wael Aljamal: لماذا تقوم بتوليد أرقام المنتجات ضمن التطبيق وليس ضمن BackEnd? ولماذا رقم عشوائي بدل رقم تسلسلي في قاعدة البيانات.. اهلا اخي ياليت تشرح الفكرتين لو تكرمت بنسبة الى ملفات php كيف بتكون الطريقه ؟ بتاريخ 3 ساعات قال شرف الدين2: يمكنك توليد رمز uuid (Universally unique identifier) وهو عبارة عن رمز مكون من 128 بيت , مما يعني أنه إن قمنا بتوليد 10تريليون رمز سيكون إحتمالية وجود رمزين متشابهين هي 0.00006 ولتوليد رموز uuid في flutter يمكننا إتباع الخطوات التالية تثبيت مكتبة uuid flutter pub add uuid عمل import للمكتبة import 'package:uuid/uuid.dart'; نقوم بإنشاء كائن من الصنف uuid var uuid = Uuid(); نقوم بعد ذلك بتوليد الرمز عبر مناداة الدالة v4 والتي تقوم بتوليد رمز من الإصدار الرابع وهو أخر إصدار موجود حاليًا للuuid ويعتبر أكثرهم أمانًا وأقلهم عرضةً للتكرار uuid.v4() اهلا بك اخي الكريم شاكر لك مساعدتك سوف اقوم بتجربتها بتاريخ 36 دقائق مضت قال Wael Aljamal: لماذا تقوم بتوليد أرقام المنتجات ضمن التطبيق وليس ضمن BackEnd? ولماذا رقم عشوائي بدل رقم تسلسلي في قاعدة البيانات.. هل بيكون مختلف عن ID? primary key; بنسبة الى قاعدة البيانات؟ اقتباس
0 Flutter Dev نشر 20 فبراير 2022 الكاتب أرسل تقرير نشر 20 فبراير 2022 بتاريخ منذ ساعة مضت قال بلال زيادة: كما أخبر المدرب وائل , يجب عليك توليد أرقام عشوائية للمنتجات من طرف الباك أند ، و بالتالي عند إرجاع البيانات من خلال api يمكنك إرجاع البيانات بصورة عشوائية و بحيث يكون التعامل مع طرف فلتر فقط عرض البيانات بناء على البيانات المرجعة من api هذه هي الطريقة الأنسب برأيي ، و طبعاً لماذا تريد توليد أرقام عشوائية و تعتمد عليها هذا سيسبب صعوبة التعامل مع المنتجات من طرف فلتر في طريقة حذف و تعديل المنتجات إذا أعتمدت على الأرقام العشوائية . لو كنت تستخدم لارافل كباك أند فيمكن استخدام التابع inRandomOrder لفرز نتائج الاستعلام عشوائيًا. على سبيل المثال ، يمكنك استخدام هذا التابع لجلب مستخدم عشوائي: $randomProducts = DB::table('products')->inRandomOrder()->get(); و يمكنك إرجاع البيانات كjson return response()->json($randomProducts); اهلا اخي الكريم شاكر لك شرحك الغالي بنسبة لماذا احتاجه الفكره كالتالي انا عامل كل منتج يمتكل id مختلف في قاعدة البيانات ولا يتكرر ولكني لا ارغب باستعماله امام المستخدم نوعا من السكيورتي يعنيولكن ارغب بعمل حقل ثاني يحمل نفس الفكره فقط هذا سيكون مثل الالة الحاسبة لعدد المنتجات او ك رقم تسلسل لها بالاضافة الى امكانية استعماله في البحث واظهاره للمستخدم وعمليات الخصومات ايضا وما شابه هل يمكن عمل هذا الخطوه من خلال mysql فقط؟ عمود اضافي يولد الارقام بشكل متسلسل لكل منتج جديد بدون ان يتكرر 1 اقتباس
السؤال
Flutter Dev
لدي فكرة ولكني لم اعرف طريقة تنفيذها بشكل الصحيحة، لدي تطبيق يعرض منتجات مختلفة
ارغب ان اضع لكل منتج رقم عشوائي مختلفة بحيث ان ارقام المنتجات لن تتشابه ابدا
اعلم ان طريقة عمل رقم من خلال دالة random numbers في فلاتر وسوف اقوم بتخزين هذا الرقم بجانب كل طلب في جدول البيانات في قاعدة البيانات
ولكني لست افهم حقيقة طريقة التاكد ان الرقم لن يعود يتكرر لدى منتج اخرى بحيث ان هذا الرقم لن يتكرر في حقل قاعدة البيانات
اي افكار لفعل ذلك تساعدنا او شرح لطريقة عمل محدده؟
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.