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

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

تهامي ادم

السؤال

Recommended Posts

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 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();

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

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

الرابط 

تم التعديل في بواسطة mohamedewias
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

 

تم التعديل في بواسطة تهامي ادم
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...