• 0

كود بلغة php للاستعلام عن آخر حقل تم إدخاله في الجدول

مرحبا شباب انا محتاج كود بلغة php للاستعلام عن اخر حقل تم ادخاله في الجدول الموجود في DB

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

يمكنك استخدام تابع 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

يمكنك ذلك من خلال استخدام الدالة 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

الاستعلام عن آخر حقل تم إدخاله يعمل مع المواقع التي عدد زوارها قليل أما لو هناك ضغط على الموقع سوف يحدث خطئ كبير وهو الناتج سيكون آخر عملية إدخال قام بها شخص آخر
أنا أفهم من كلامك أنك تريد آخر عملية إدخال للقيام بعملية إدخال أخرى مرتبطة بها

insert_id يقوم بإرجاع رقم عملية الإدخال الحالية 

الرابط 

تمّ تعديل بواسطة mohamedewias
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك أيضا أن تستعمل الطريقة التالية البسيطة:

<?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.

تمّ تعديل بواسطة ayoubridouani
إضافة بعض الإرشادات

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ 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 إلى أنه من بين كل تلك الصفوف يتم إرجاع الصف الأول فقط في مجموعة النتائج.

الكود اشتغل معاي تسلم كتير وربنا يديدك الصحة والعافية

 

تمّ تعديل بواسطة تهامي ادم

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن