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 بتاريخ On 31/10/2020 at 19:20 قال 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 أظهر المزيد ربي يعطيك الف صحه وعافيه شاكر لك بتاريخ On 31/10/2020 at 19:32 قال 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 بتاريخ On 31/10/2020 at 19:57 قال مروان مروان3: ربي يعطيك الف صحه وعافيه شاكر لك زادك الله من واسع علمه وفضله الطريقة ناجحة 100/100 شكرا لك أظهر المزيد على الرحب والسعة أخي, الطريقة التي نجحت معك تسمى ب subqueries من هنا لو أردت أن تدرس عليها قليلا. بالتوفيق. 1 اقتباس
0 Flutter Dev نشر 1 نوفمبر 2020 الكاتب أرسل تقرير نشر 1 نوفمبر 2020 بتاريخ On 31/10/2020 at 20:05 قال ayoubridouani: على الرحب والسعة أخي, الطريقة التي نجحت معك تسمى ب subqueries من هنا لو أردت أن تدرس عليها قليلا. بالتوفيق. أظهر المزيد حقيقي رغم اني دارس ماده كامله بالاضافة الى تنفيذ كم مشروع سابقا بستخدام هذا للغة من الربط بين قواعد البيانات ولكن هذا كانت اول مره اشوف هذا الطريقة او اعرف عنها كل الشكر لك ي غالي اقتباس
السؤال
Flutter Dev
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع.
لدي استفسار لو تكرمتو. قمت بعمل دالة للاستعلام عن حقل id من قاعدة بيانات mysql
كود الاستعلام كالتالي:
وملف PHP كالتالي:
الكود الذي تم ادرجه في الاعلى يعمل ولكن انا احتاج اني احصل على استعلام اعلى رقم ID من الحقل مهما كان موقعه او ترتيبه عشان كذا عملت الكود بشكل التالي:
ولكن واجهتني المشكله التالية لما استعملت الكود اعلاه:
هل يعلم احد حل للمشكلة بحيث اني احصل على اعلى ID في حقل ID?
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.