Flutter Dev نشر 31 أكتوبر 2020 أرسل تقرير نشر 31 أكتوبر 2020 السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. لدي استفسار لو تكرمتو. قمت بعمل دالة للاستعلام عن حقل id من قاعدة بيانات mysql كود الاستعلام كالتالي: Future<String> getLogin() async { var response = await http.get(Uri.encodeFull("http://xxxxxxxxx/Noti.php"),); setState(() { var convertDataToJson = json.decode(response.body.toString()); data = convertDataToJson['result']; if (data != null) { User_ID =int.parse(data[0]['id']); } } ); } وملف PHP كالتالي: <?php require_once 'connt.php'; $query="SELECT * FROM addcomment"; $result = mysqli_query($con,$query); $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 !")); ?> الكود الذي تم ادرجه في الاعلى يعمل ولكن انا احتاج اني احصل على استعلام اعلى رقم ID من الحقل مهما كان موقعه او ترتيبه عشان كذا عملت الكود بشكل التالي: <?php require_once 'connt.php'; $query="SELECT MAX( id ) FROM addcomment"; $result = mysqli_query($con,$query); $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 !")); ?> ولكن واجهتني المشكله التالية لما استعملت الكود اعلاه: E/flutter (29294): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: Invalid argument(s): The source must not be null E/flutter (29294): #0 int.parse (dart:core-patch/integers_patch.dart:51:25) E/flutter (29294): #1 AddCommentsState.getLogin.<anonymous closure> (package:flutter_apptestqeuriy/Ready.dart:89:22) E/flutter (29294): #2 State.setState (package:flutter/src/widgets/framework.dart:1240:30) E/flutter (29294): #3 AddCommentsState.getLogin (package:flutter_apptestqeuriy/Ready.dart:85:5) E/flutter (29294): <asynchronous suspension> E/flutter (29294): #4 AddCommentsState.initState.<anonymous closure> (package:flutter_apptestqeuriy/Ready.dart:58:9) E/flutter (29294): #5 interval.function (package:flutter_apptestqeuriy/Ready.dart:16:9) E/flutter (29294): #6 _rootRun (dart:async/zone.dart:1182:47) E/flutter (29294): #7 _CustomZone.run (dart:async/zone.dart:1093:19) E/flutter (29294): #8 _CustomZone.runGuarded (dart:async/zone.dart:997:7) E/flutter (29294): #9 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23) E/flutter (29294): #10 _rootRun (dart:async/zone.dart:1190:13) E/flutter (29294): #11 _CustomZone.run (dart:async/zone.dart:1093:19) E/flutter (29294): #12 _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1021:23) E/flutter (29294): #13 Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15) E/flutter (29294): #14 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19) E/flutter (29294): #15 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5) E/flutter (29294): #16 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12) E/flutter (29294): هل يعلم احد حل للمشكلة بحيث اني احصل على اعلى ID في حقل ID? اقتباس
1 ayoubridouani نشر 31 أكتوبر 2020 أرسل تقرير نشر 31 أكتوبر 2020 مرحبا أخي, عليك أن تقوم بتغيير ال QUERY الموجودة في الملف التاني على الشكل التالي: <?php require_once 'connt.php'; $query="SELECT * FROM addcomment WHERE id = (SELECT MAX(id) FROM addcomment)"; $result = mysqli_query($con,$query); $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 !")); ?> وبذلك تكون قد عدت بجميع البيانات لأكبر ID موجود في الجدول. 1 اقتباس
1 Yomna Raouf نشر 31 أكتوبر 2020 أرسل تقرير نشر 31 أكتوبر 2020 الخطأ الذي يظهر لك يدل على أن معامل ()int.parse قيمته مساوية ل null. من الحتمل أنك قمت بجلب البيانات بطريقة غير صحيحة، يمكنك أن تقوم بطباعة البيانات التي تحضرها من قاعدة البيانات حتى تتأكد من أنها البيانات الصحيحة حتى قبل أن تستخدمها في التطبيق. حتى نقوم بجلب الصف الذي له أعلى id من قاعدة البيانات mysql نقوم بالاستعلام باستخدام الأمر التالي: SELECT * FROM addcomment ORDER BY id DESC LIMIT 0, 1 إذا كنت تريد ال id فقط يمكنك استخدام التالي "مع العلم أن طريقة الاستعلام الخاصة بك صحيحة": SELECT MAX(ID) FROM tablename LIMIT 1 1 اقتباس
0 Flutter Dev نشر 31 أكتوبر 2020 الكاتب أرسل تقرير نشر 31 أكتوبر 2020 بتاريخ 37 دقائق مضت قال Yomna Raouf: الخطأ الذي يظهر لك يدل على أن معامل ()int.parse قيمته مساوية ل null. من الحتمل أنك قمت بجلب البيانات بطريقة غير صحيحة، يمكنك أن تقوم بطباعة البيانات التي تحضرها من قاعدة البيانات حتى تتأكد من أنها البيانات الصحيحة حتى قبل أن تستخدمها في التطبيق. حتى نقوم بجلب الصف الذي له أعلى id من قاعدة البيانات mysql نقوم بالاستعلام باستخدام الأمر التالي: SELECT * FROM addcomment ORDER BY id DESC LIMIT 0, 1 إذا كنت تريد ال id فقط يمكنك استخدام التالي "مع العلم أن طريقة الاستعلام الخاصة بك صحيحة": SELECT MAX(ID) FROM tablename LIMIT 1 ربي يعطيك الف صحه وعافيه شاكر لك بتاريخ 25 دقائق مضت قال ayoubridouani: مرحبا أخي, عليك أن تقوم بتغيير ال QUERY الموجودة في الملف التاني على الشكل التالي: <?php require_once 'connt.php'; $query="SELECT * FROM addcomment WHERE id = (SELECT MAX(id) FROM addcomment)"; $result = mysqli_query($con,$query); $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 !")); ?> وبذلك تكون قد عدت بجميع البيانات لأكبر ID موجود في الجدول. زادك الله من واسع علمه وفضله الطريقة ناجحة 100/100 شكرا لك اقتباس
0 ayoubridouani نشر 31 أكتوبر 2020 أرسل تقرير نشر 31 أكتوبر 2020 بتاريخ 6 دقائق مضت قال مروان مروان3: ربي يعطيك الف صحه وعافيه شاكر لك زادك الله من واسع علمه وفضله الطريقة ناجحة 100/100 شكرا لك على الرحب والسعة أخي, الطريقة التي نجحت معك تسمى ب subqueries من هنا لو أردت أن تدرس عليها قليلا. بالتوفيق. 1 اقتباس
0 Flutter Dev نشر 1 نوفمبر 2020 الكاتب أرسل تقرير نشر 1 نوفمبر 2020 بتاريخ 17 ساعات قال ayoubridouani: على الرحب والسعة أخي, الطريقة التي نجحت معك تسمى ب subqueries من هنا لو أردت أن تدرس عليها قليلا. بالتوفيق. حقيقي رغم اني دارس ماده كامله بالاضافة الى تنفيذ كم مشروع سابقا بستخدام هذا للغة من الربط بين قواعد البيانات ولكن هذا كانت اول مره اشوف هذا الطريقة او اعرف عنها كل الشكر لك ي غالي اقتباس
السؤال
Flutter Dev
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع.
لدي استفسار لو تكرمتو. قمت بعمل دالة للاستعلام عن حقل id من قاعدة بيانات mysql
كود الاستعلام كالتالي:
وملف PHP كالتالي:
الكود الذي تم ادرجه في الاعلى يعمل ولكن انا احتاج اني احصل على استعلام اعلى رقم ID من الحقل مهما كان موقعه او ترتيبه عشان كذا عملت الكود بشكل التالي:
ولكن واجهتني المشكله التالية لما استعملت الكود اعلاه:
هل يعلم احد حل للمشكلة بحيث اني احصل على اعلى ID في حقل ID?
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.