تهامي ادم نشر 27 أكتوبر 2020 أرسل تقرير نشر 27 أكتوبر 2020 مرحبا شباب انا محتاج كود بلغة php للاستعلام عن اخر حقل تم ادخاله في الجدول الموجود في DB اقتباس
1 محمد وسيم الحبش نشر 27 أكتوبر 2020 أرسل تقرير نشر 27 أكتوبر 2020 يمكنك استخدام تابع lastInsertId باستخدام ال PDO , وهي الطريقة الأسرع ولكن يمكن استعمالها حصراً إن تمت عملية الإضافة في نفس ال request وإلا قد يعطي نتائج خاطئة : $query = $pdo->prepare("INSERT INTO `tablename` SET `name`='وسيم', `age`=25"); $query->execute(); $query = $pdo->prepare("SELECT * FROM `tablename` WHERE id = ".$pdo->lastInsertId()); $query->execute(); $row = $query->fetch(); كما يمكنك بالطبع استخدام تابع الترتيب ORDER BY للحصول على نفس النتيجة , و هذه الطريقة يمكن استخدامها في أي مكان بدون شروط (هذه الطريقة التي أفضلها) : $query = $pdo->prepare("SELECT * FROM `tablename` ORDER BY id DESC LIMIT 1"); $query->execute(); $row = $query->fetch(); 1 اقتباس
0 Abdulhamid Hamsho2 نشر 27 أكتوبر 2020 أرسل تقرير نشر 27 أكتوبر 2020 يمكنك ذلك من خلال استخدام الدالة messageid والتي تقوم بزيادة تلقائية للصف الأول في الجداول، فعند إضافة سطر جديد للجدول تعتبر هذا السطر هو السطر الأول. بذلك يمكنك من خلال استدعاء السطر الأول جلب معلومات أخر سطر قمت بإدخاله. أولًا: استخدم mysql_query: <?php $result = mysql_query('SELECT t.messageid, t.message FROM TABLE t ORDER BY t.messageid DESC LIMIT 1') or die('Invalid query: ' . mysql_error()); //طباعة النتيجة while ($row = mysql_fetch_assoc($result)) { echo $row['messageid']; echo $row['message']; } // حرر الموارد المرتبطة بالنتيجة mysql_free_result($result); ?> ثانيًا: SQL query: SELECT t.messageid, t.message FROM TABLE t ORDER BY t.messageid DESC LIMIT 1 تستخدم ORDER BY لتعيين القيم في الجدول، تشير كلمة LIMIT إلى أنه من بين كل تلك الصفوف يتم إرجاع الصف الأول فقط في مجموعة النتائج. اقتباس
0 Mohamed Ewias نشر 27 أكتوبر 2020 أرسل تقرير نشر 27 أكتوبر 2020 (معدل) الاستعلام عن آخر حقل تم إدخاله يعمل مع المواقع التي عدد زوارها قليل أما لو هناك ضغط على الموقع سوف يحدث خطئ كبير وهو الناتج سيكون آخر عملية إدخال قام بها شخص آخر أنا أفهم من كلامك أنك تريد آخر عملية إدخال للقيام بعملية إدخال أخرى مرتبطة بها insert_id يقوم بإرجاع رقم عملية الإدخال الحالية الرابط تم التعديل في 27 أكتوبر 2020 بواسطة mohamedewias 1 اقتباس
0 ayoubridouani نشر 27 أكتوبر 2020 أرسل تقرير نشر 27 أكتوبر 2020 (معدل) يمكنك أيضا أن تستعمل الطريقة التالية البسيطة: <?php $result = mysql_query("SELECT * FROM $table WHERE id = (SELECT MAX(id) FROM $table)"); لكن قبلها يجب أن تكون واضع بأن خانة ال id له خاصية auto_increment ومنه فأخر حقل تم إدخاله هو من سيحتوي على أكبر id وبعد حصولك على أكبر id ستحصل على البيانات الأخرى من نفس column. ملاحظة: ال auto_increment و primary key شرط أساسي لحقل ما غالبا ما يكون بإسم id لحظة بناء قاعدة البيانات حتى يسهل عليك جلب البيانات بال PHP. تم التعديل في 30 أكتوبر 2020 بواسطة ayoubridouani إضافة بعض الإرشادات اقتباس
0 تهامي ادم نشر 31 أكتوبر 2020 الكاتب أرسل تقرير نشر 31 أكتوبر 2020 (معدل) بتاريخ On 10/27/2020 at 10:02 قال Abdulhamid Hamsho: يمكنك ذلك من خلال استخدام الدالة messageid والتي تقوم بزيادة تلقائية للصف الأول في الجداول، فعند إضافة سطر جديد للجدول تعتبر هذا السطر هو السطر الأول. بذلك يمكنك من خلال استدعاء السطر الأول جلب معلومات أخر سطر قمت بإدخاله. أولًا: استخدم mysql_query: <?php $result = mysql_query('SELECT t.messageid, t.message FROM TABLE t ORDER BY t.messageid DESC LIMIT 1') or die('Invalid query: ' . mysql_error()); //طباعة النتيجة while ($row = mysql_fetch_assoc($result)) { echo $row['messageid']; echo $row['message']; } // حرر الموارد المرتبطة بالنتيجة mysql_free_result($result); ?> ثانيًا: SQL query: SELECT t.messageid, t.message FROM TABLE t ORDER BY t.messageid DESC LIMIT 1 تستخدم ORDER BY لتعيين القيم في الجدول، تشير كلمة LIMIT إلى أنه من بين كل تلك الصفوف يتم إرجاع الصف الأول فقط في مجموعة النتائج. الكود اشتغل معاي تسلم كتير وربنا يديدك الصحة والعافية تم التعديل في 31 أكتوبر 2020 بواسطة تهامي ادم اقتباس
السؤال
تهامي ادم
مرحبا شباب انا محتاج كود بلغة php للاستعلام عن اخر حقل تم ادخاله في الجدول الموجود في DB
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.