اذهب إلى المحتوى

Flutter Dev

الأعضاء
  • المساهمات

    787
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    2

كل منشورات العضو Flutter Dev

  1. مرحبا جميعا تحيه طيبه للجميع وكل عام والجميع بألف صحه وعافيه وعيد مبارك لكم جميعا لدي استفسار لو تكرمتم قمت بإضافة حقول متعددة من text filed وعددهم أربعة الهدف منهم هو إضافة بيانات في نفس العمود في قاعدة بيانات MySQL بالإضافة الى حقل عددهم أربعة من مربع الاختيار ثم قمت بإضافة دالة الحفظ التالية لحفظ البيانات بشكل متسلسل ومتتابع بمعنى كل text filed سوف يقابله في العمود الثاني مربع الاختيار true or false: void startUpload() async { var url = uploadEndPoint; var response = await http.post(Uri.parse(url), body: { "answers": ControllerOne.text, "state": _checkboxOne.toString(), "answers": ControllerTwo.text, "state": _checkboxTwo.toString(), "answers": ControllerThree.text, "state": _checkboxthree.toString(), "answers": ControllerFore.text, "state": _checkboxfore.toString(), }); if (response.statusCode == 200) { print(response.statusCode); } else {} } المشكلة في وقت تشغيل الكود الكود يذهب لحفظ اخر حقل فقط ويقوم بتجاوز الـ 3 حقول الأولى وهذا خطاء المفترض ان يعمل بشكل متتابع او متسلسل حسب ما هو معمول في الدالة أعلاه. الجدول في قاعدة البيانات يحتوي على حقلين فقط answers + state مرفق صوره : هل يوجد حل لفعل ذلك ؟بشكل مختلف او ما هو الخطاء لدي
  2. اهلا اخي الكريم اشكرك على ردك اخي العزيز الفكرة جميله ولكن لدي شيء لم استطيع فهمه الان المتغير يحمل قيمة وهذا القيمة قيمة شرطيه ستكون في ملفات php ما هو الشرط المقصود وضعه في هذا الحالة هل تقصد ان يكون الشرط هو id ? في هذا الحالة ستكون لدينا مشكلة ان ارقام id لن تكون متسلسله مع مرور الوقت في جدول البيانات قاعدة البيانات لو تكرمت توضح هذا النقطة
  3. تحيه طيبه للجميع استفسار لو تكرمتم انا أقوم بعرض سجل من خلال قاعدة البيانات للمستخدم في ListView.builder من خلال استعمال FutureBuilder أقوم بعرض نص على سبيل المثال للمستخدم وقمت بوضع زر كتب عليه التالي احتاج الى طريقة لتمكين المستخدم بعد الضغط على الزر الانتقال الى السجل الثاني او next row في table in MySQL لو كان المستخدم يشاهد الان السجل رقم 1 بعد الضغط سوف ينتقل الى السجل رقم 2 ليتم تحديث ليسته وعرض النص الثاني او السطر الثاني في الجدول نوع قاعدة البيانات MySQL استعمل ملفات php للاتصال لها
  4. مرحبا اخي الكريم جمعه مباركه عليكم اعتذر على تأخر الرد قررت اعمل تحديث إلى فلاتر كامل وحاليا لدي بعض المشاكل بس احلها بشوف هل فلاتر الجديدة مع تحديثات تحل هذا المشكلة / حسب ما شفت بعض المواقع كان فيه بلاغات بسببها لدى كثير من المستخدمين قد يكون تم حلها من قبل فريق تطوير فلاتر في الإصدارات الحديثة سوف اعود بعد الانتهاء مع النتائج التي وصلت لها
  5. اهلا اخي الكريم استعمل واحده لتحرير البيانات اما الثانية لتعبئتها بالبيانات وعرضها اذا كنت ترى الطريقة خطاء ياليت تعدل عليه لو فيه إمكانية بشكل الصحيح اذا كانت الطريقة سوف تحل المشكلة السابقه
  6. أهلا اخي الكريم نعم هذا الصفحة كامله / حاولت تطبيق الامر في onTap ولم ينجح الامر void main() { runApp( EasyLocalization( saveLocale: true, supportedLocales: [Locale('en', 'US'), Locale('ar', 'SA')], path: 'assets/translations', fallbackLocale: Locale('en', 'US'), child: UpdateProfile(), ), ); } class UpdateProfile extends StatefulWidget { @override _UpdateState createState() => new _UpdateState(); } class _UpdateState extends State<UpdateProfile> { @override void initState() { super.initState(); _fetchData(); } var _phone = ""; var Controllerphone = new TextEditingController(); void _editData() async { var url = 'https://********************fyProfile.php'; var response = await http.post(Uri.parse(url), body: { "phone": Controllerphone.text, }); if (response.statusCode == 200) { Navigator.of(context, rootNavigator: true).pop(); } else { } } List data=[]; _fetchData() async { final url = "https://*********************Profile.php"; final response = await http.get(Uri.parse(url)); if (response.statusCode == 200) { final map = json.decode(response.body); final videosMap = map["result"]; setState(() { this.data = videosMap; _phone = data[0]['phone']; }); } } final TextEditingController controller = TextEditingController(); @override Widget build(BuildContext context) { Controllerphone = new TextEditingController(text: _phone); return MaterialApp( localizationsDelegates: context.localizationDelegates, supportedLocales: context.supportedLocales, locale: context.locale, home: Scaffold( appBar: AppBar( title: Text("Profile", style: TextStyle( color: CustomColors.firebaseNavy)) .tr(), backgroundColor: CustomColors.firebaseGrey, elevation: 1.5, centerTitle: true, leading: BackButton( color: CustomColors.firebaseNavy, onPressed: () { Navigator.pop(context); }, ), ), body: Form( child: Center( child: data == null ? new CircularProgressIndicator( valueColor: new AlwaysStoppedAnimation<Color>(Colors.black), ) : new ListView( children: <Widget>[ Card( child: Column(children: <Widget>[ Row( children: [ Expanded( child: Container( margin: const EdgeInsets.all(4), child: Row( children: [ Expanded( child: TextFormField( validator: (value) { if (value.isEmpty) { return 'cannot be empty'.tr(); } return null; }, keyboardType: TextInputType.number, decoration: InputDecoration( border: OutlineInputBorder(), labelText: 'Phone'.tr(), filled: true, hintText: ''), controller: Controllerphone, onTap: () => Controllerphone.selection = TextSelection.fromPosition(TextPosition(offset: Controllerphone.text.length)), ), ), ], ), ), ), ], ), ])), ], ), ), ), ) ); } }
  7. مرحبا اخي الكريم شاكر لك ردك لو تكرمت توضح كيفية استعماله في الكود الذي قمت بمشاركته في اول المشاركة انا / اعتذر ولكن حقيقه لم افهم طريقة عمل ذلك
  8. انا عامل حقل من نوع textformfield TextFormField( validator: (value) { if (value.isEmpty) { return 'cannot be empty'.tr(); } return null; }, keyboardType: TextInputType.number, decoration: InputDecoration( border: OutlineInputBorder(), labelText: 'Phone_number'.tr(), filled: true, hintText: ''), controller: Controllerphone, ), طبعا المستخدم من المفترض ان يكون قادر على ادخال رقم هاتفه في هذا الحقل / المشكلة انني قمت بربط هذا الحقل مع قاعدة البيانات من خلال controller: Controllerphone, بمعنى لو كانت هنالك بيانات يتم جلبها مع بداية تشغيل الصفحة هذا واذا لم تكن هنالك بيانات سيكون الحقل فارغ هذا الامر سبب لدي مشكلة الان لو كانت هنالك بيانات ورقم هاتف مع بداية تشغيل الصفحة سوف يتم جلبهم ولكن المستخدم لو قام بضغط على الحقل مؤشر الماوس بشكل تلقائي ينتقل الى بداية النص في حقل textformfield بمعنى يصبح موقعه قبل النص الذي تم جلبه. ولو حاول الان استعمال الأرقام والقيام بإضافة رقم لن يستطيع الكتابة الا في حالة قام بضغط مره أخرى وتغير موقع مؤشر الماوس لبداية النص او موقع مختلف في حقل textformfield بمعنى وكانه سوف يكمل البيانات الموجودة / قمت بتأكد بالنسبة إلى كتابة النصوص هيا تعمل ولا توجد مشكلة في موقع مؤشر الماوس لا اعلم لماذا تحدث فقط مع الأرقام. أيضا لو قمت بكتابة نص في البداية ثم حذفه ومحاولة كتابة رقم بعد ذلك الامر يعمل بشكل طبيعي والمشكلة تختفي مع ان موقع المؤشر لا يزال في بداية الكلام وقبل النص الموجود. أيضا لو قمت بحذف هذا السطر المشكلة يتم حلها ولكني لن احصل على الرقم لو كان موجود في قاعدة البيانات controller: Controllerphone, هل يوجد تفسير لهذا المشكلة وحل لها؟ ياليت اذا احد لديه فكره عن الامر او حل لتغير موقع المؤشر في البداية
  9. تحيه طيبه للجميع قمت بعمل مشروع من خلال فلاتر ارغب بعمل نظام serial key له بحكم ان المشروع offline حتى يحتاج المستخدم رمز التفعيل كل سنة لتجديد اشتراك البرنامج ( المشروع ليس مجاني) هل توجد مكتبات لعفل ذلك في فلاتر او طريقة مختلفة ؟
  10. مرحبا بك اخي الكريم المشكله ليست في النتائج اخي هو شغال 100% ولكني احتاج اعمل طريقة لتغير بين السجلات بمعنى تغير البيانات المعروضه بشكل متسلسل احمد الاول وبياناته ثم يمكنني الانتقال بسهم وعرض احمد الثاني وبياناته ثم احمد الثالث بمعنى الانتقال بين السجلات هذا الفكره التي احاول تطبيقها
  11. تحيه طيبه للجميع لدي دالة لجلب البيانات من قاعدة بيانات MySQL من خلال اسم العميل أقوم بكتابة اسم العميل في حقل text filed واحصل على النتائج في حقول متعددة من text filed على سبيل المثال لدي Text Field بعد جلب النتائج يعرض لدي عنوان العميل أيضا Text Field مختلف يعرض عمر العميل ...الخ المشكلة الان الـ Text Field الذي اقم بالبحث من خلاله لو قمت بكتابة اسم أحمد سوف احصل على اول بيانات أحمد في ترتيب جدول البيانات ولكن قد أكون ارغب بالحصول على بيانات عميل اسمه أحمد مختلف بمعنى ان قاعدة البيانات يوجد فيه اكثر من اسم أحمد واحد / طبعا كتابة الاسم الثاني والثالث ليس حل قد أكون فقط اعرف اول اسم من اسم العميل. هل توجد طريقة على سبيل المثال اضع مؤشر الماوس في Text Field الخاص بخانة البحث واقوم بضغط سهم ( الذهاب الى الأسفل من الكيبورد) ثم احصل على بيانات أحمد التالي من قاعدة البيانات ؟ الدالة التي تجلب البيانات لدي : _fetchData() async { var response = await http.get( Uri.parse("http:********************"), headers: {"Accept": "application/json"} ); setState(() { var convertDataToJson = json.decode(response.body); data = convertDataToJson['result']; if (data.length >0){ txtName = data[0]['Name']; txtNumber= data[0]['Number']; txt['Adress'];= data[0]['Adress']; }else{ } }); } ملف php : <?php header('access-control-allow-origin: *'); header('Access-Control-Allow-Headers: *'); require_once 'con.php'; $Name=$_GET['Name']; $sql="SELECT * FROM empl left join tcity ON empl.Idcity = tcity Idcity where empl.Name LIKE '%$Name%' "; $con -> set_charset("utf8"); $stmt = $con->prepare($sql); $stmt->execute(); $result = $stmt->get_result(); $array = array(); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } echo ($result) ? json_encode(array("code" => 1, "result"=>$array)) : json_encode(array("code" => 0, "message"=>"Data not found !")); ?>
  12. @Wael Aljamal اخي الكريم اذا كنت محتاج استبدال الاسماء بكلمات هل يمكن عملها بشكل التالي: BEGIN set @id1 := 1; set @id2 := 104; set @i := @id1; SET @names = '1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,'; select @i,@names,Locate(',', @names); LABEL1: WHILE @names is not null and @i < @id2 do SET @Name = SUBSTRING_index(@names, ',',1); select @i,@names,@name; SET @names = replace(@names,concat(@name,','),''); UPDATE employees SET NAME = @Name WHERE id = @i; SET @i = @i + 1; END WHILE label1; SET @Name = SUBSTRING_index(@names, ',',1); select 'and finally' ,@i,@names,@name; end لنني حاولت ولم ينجح الامر توقف الكود لدى اول row فقط تم الإضافة في اول واحد
  13. كل الشكر لك اخي الكريم جاري التجربة الان لنقل قاعدة البيانات لو نجحت بنسبة 95% الامر كافي بيكون
  14. تحديث اخي الكريم ولتعم الفائدة للجميع لقد عمل الكود الان طريقتك فعالة 100% كل الشكر لك الغالي هذا التعديل النهائي: BEGIN set @id1 := 2591; set @id2 := 2594; set @i := @id1; SET @names = 'marwan,wael,adnan,sameh,'; select @i,@names,Locate(',', @names); LABEL1: WHILE @names is not null and @i < @id2 do SET @Name = SUBSTRING_index(@names, ',',1); select @i,@names,@name; SET @names = replace(@names,concat(@name,','),''); UPDATE employees SET NAME = @Name WHERE id = @i; SET @i = @i + 1; END WHILE label1; SET @Name = SUBSTRING_index(@names, ',',1); select 'and finally' ,@i,@names,@name; end
  15. مرحبا بك اخي الكريم حقيقه انا لم ارغب بطرح المزيد من الأسئلة حول هذا الفاكشن ولكني حاولت إيجاد حل للمشكلة ولم ينجح الامر حتى لا يطول السؤال ويسبب الازعاج هيا تعمل بشكل جيد ولكن المشكلة انها تقوم فقط بإضافة اول اسم من الأسماء الموجودة وفي اول row فقط ولا يتم استكمال الباقي BEGIN set @id1 := 2591; set @id2 := 2594; set @i := @id1; SET @names = 'marwan,wael,adnan,sameh,'; LABEL1: WHILE (Locate(',', @names) > 0) do SET @Name = SUBSTRING(@names, 1, LOCATE(',', @names)); SET @names = SUBSTRING(@names,1, LOCATE(',', @names)-1); UPDATE employees SET NAME = @Name WHERE id = @i; SET @i = @i + 1; END WHILE label1; end بشكل التالي:
  16. مرحبا اخي الكريم اعتذر على تأخر الرد أولا بنسبة الى الحل هو يعمل بدون أخطاء الان ولكن المشكلة الوحيدة لما اعمل تشغيل للعملية يقوم بإضافة الأسماء في سطر واحد او في Row 1 / المفترض ان يقوم بتوزيع الأسماء على row بشكل متسلسل. مرفق لك صوره الكود كالتالي: BEGIN set @id1 := 2595; set @id2 := 2592; set @i := @id1; SET @names = 'marwan,wael,adnan,sameh,'; label1: WHILE (LOCATE(',', @names) > 0) do SET @Name = ELT(1, @names); SET @names= SUBSTRING(@names, LOCATE(',',@names) + 1); UPDATE employees SET Name = @Name WHERE Id = @i; set @i = @i + 1; end while label1; end
  17. لو كان لدي جدول بيانات يحتوي على حقول مختلفة منها ارقام الهواتف على سبيل المثال قمت انا بأدراج بيانات الهواتف في حقل phone من خلال أوامر sql- Insert () واصبح لدي على سبيل المثال حقول بيانات تحتوي على تسلسل ID من رقم 1 الى 100 ثم اصبح لدي بيانات مختلفة وليكون أسماء وانا امتلك عمود اسمه Name ولكن ارغب بإضافة الأسماء حسب تسلسل ارقام الهواتف ولكن ليس من البداية بمعنى ارغب بأدراج من تسلسل ID مثلا 8 وحتى 34 فقط وسيكوون في نفس موقع row الذي سابقا وضعنا ارقام هواتف فيه رسم توضيحي : هذا اول مرحلة قمت بها : انا اقوم بتنفيذ ذلك من خلال صفحة MySQL مباشر ولا استعمل صفحة php لفعل ذلك صورة لتوضيح : حاولت القيام بشي مثل ذلك : INSERT INTO employees (Name) VALUES (('ahame'), ('sfgtg'), ('yosu') WHERE Id > 2594 AND id < 2592); ولكن الامر لم ينجح من +----+-------------------+------+--------+ | id | Name | phone| Date | +----+-------------------+------+--------+ | 1 | |563824| | | 2 | |525225| | | 3 | |546542| | | 4 | |464625| | | 5 | |654525| | | 6 | |849842| | | 7 | |654446| | +----+-------------------+------+--------+ إلى +----+-------------------+------+--------+ | id | Name | phone| Date | +----+-------------------+------+--------+ | 1 | |563824| | | 2 | |525225| | | 3 | Ali |546542| | | 4 | Ahmad |464625| | | 5 | Ayob |654525| | | 6 | |849842| | | 7 | |654446| | +----+-------------------+------+--------+
  18. لو كان لدي جدول بيانات يحتوي على حقول مختلفة منها ارقام الهواتف على سبيل المثال قمت انا بأدراج بيانات الهواتف في حقل phone من خلال أوامر sql- Insert () واصبح لدي على سبيل المثال حقول بيانات تحتوي على تسلسل ID من رقم 1 الى 100 ثم اصبح لدي بيانات مختلفة وليكون أسماء وانا امتلك عمود اسمه Name ولكن ارغب بإضافة الأسماء حسب تسلسل ارقام الهواتف ولكن ليس من البداية بمعنى ارغب بأدراج من تسلسل ID مثلا 8 وحتى 34 فقط وسيكوون في نفس موقع row الذي سابقا وضعنا ارقام هواتف فيه رسم توضيحي : هذا اول مرحلة قمت بها : // الارقام توضيحية فقط INSERT INTO table_name (phone) VALUES (654656), (546546), (456456), (645645), (546546), (456456); +----+-------------------+------+--------+ | id | Name | phone| Date | +----+-------------------+------+--------+ | 1 | |563824| | | 2 | |525225| | | 3 | |546542| | | 4 | |464625| | | 5 | |654525| | | 6 | |849842| | | 7 | |654446| | +----+-------------------+------+--------+ الان لدي حقول هواتف حتى تسلسل 7 من تسلسل id ارغب بعمل التالي: +----+-------------------+------+--------+ | id | Name | phone| Date | +----+-------------------+------+--------+ | 1 | |563824| | | 2 | |525225| | | 3 | Ali |546542| | | 4 | Ahmad |464625| | | 5 | Ayob |654525| | | 6 | |849842| | | 7 | |654446| | +----+-------------------+------+--------+ احتاج إضافة أسماء في تسلسل id من 3 الى 5 ليصبح شكل الجدول كما في المثال في أعلاه بحيث اني استطيع تعبئة بيانات مجموعة من الأشخاص دفعة واحده في كل مره احتاج ذلك واستثناء الاخرين هل يوجد طريقة لفعل ذلك؟ من خلال أوامر SQL
  19. اهلا بك اخي الكريم شاكر لك ردك الغالي ما فيه طريقة اسهل من خلال موقع لفعل ذلك؟
  20. هل يوجد موقع او برنامج يقوم بعملية كتابة البيانات لي على شكل sql statement على سبيل المثال لدي جدول بيانات في الاكسس وارغب بأخذ عمود الهواتف منه وهو يحتوي على عدد كبير من الأرقام ارغب بتحويلها الى sql statement ثم أقوم بأدرجها في قواعد mysql على شكل statement هل توجد موقع تقدم هذا الخدمة ؟احد لديه فكره عن الامر؟ بحيث انني اقوم بنقل بيانات العمود مثلا : 12365 24654 23154 واحصل على نتيجة insert sql statement لهم
  21. تحيه طيبه للجميع لو كان لدي عمود يحتوي على أسماء الدول ولنفترض لدي السعودية الأردن ومصر الخ.. وكنت ارغب بالحصول على كل الحقول ما عدا السعودية على سبيل المثال كيف ممكن نعمل هذا الامر؟ طبعا لا ارغب بتحديد جمله شرطيه فيها أسماء الدول المتبقية والسبب ان لدي مجموع كبير من الدول احتاج الى طريقة لتخطي الدول التي لا احتاجها الامر ابسط بشكل هذا هل توجد طريقة لفعل ذلك؟
  22. مرحبا بك اخي الكريم شاكر لك ردك بس توضيح لو تكرمت الذي فهمته من كلامك انني استطيع تغير الاسم وما شابه بطريقة اتباع تحديث التطبيق بمعنى لن افقد عدد التنزيلات الخاصة بتطبيق وما شابه لو قمت بتغير الاسم العام لتطبيق صحيح هذا الكلام؟
  23. تحيه طيبه للجميع استفسار عام / هل يمكن تغيير اسم التطبيق في الماركة بعد نشره علىGoogle Play و App Store ام ان سياسة جوجل وابل لا تسمح بذلك؟
×
×
  • أضف...