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

كيف اخبر ال PHP في حال زادت الصفوف في قاعدة البيانات افعل الآتي ؟

Moath Hijazi

السؤال

Recommended Posts

  • 1

يمكنك حل المشكلة عن طريق الكود التالي، هذا مثال عن إضافة مستخدم ما لقاعدة البيانات:

<?php
	// ربطنا قاعدة البيانات
    $link = mysql_connect("localhost", "username", "password");
    mysql_select_db("database_name", $link);
	
	// قمنا بتحديد البيانات
    $result = mysql_query("SELECT * FROM TABLE_NAME", $link);
	// نأتي بعدد الأسطر
    $num_rows = mysql_num_rows($result);
	// $_SESSION["lastcount"] نختبر فيما إذا كنا قد عرفنا متحول الجلسة أم لا سنعرفه لاحقاً
    if(!isset($_SESSION["lastcount"])) {
      	// $check إذا كنا لم نعرفه بعد نضع عدد الأسطر ضمنه وضمن المتحول 
      	// لمعرفة إن كان قد زاد عدد الأسطر $num_rows مع عدد الأسطر $check لأننا سنقارن لاحقا بالعدد 
      	// يحوي عدد الأسطر القديم $check فيكون المتحول
        $check = $_SESSION['lastcount'] = $num_rows;
    } else {
      	// $check إذا كنا قد عرفناه نضع قيمته ضمن ال
      	// هذا الرقم سيكون عدد الأسطر القديم
        $check = $_SESSION['lastcount'];
    }
    echo $num_rows;
     if($num_rows > $check ) {
       // إذا زادت الأسطر سيتحقق الشرط وينفذ الكود
       // الآن سنعيد إسناد قيمة عدد الأسطر الجديدة لكل من المتحولين
        $check = $_SESSION['lastcount'] = $num_rows;
        echo "تم زيادة عدد الأسطر وإضافة مستخدم";
     } else {
        echo "لا يوجد زيادة في عدد الأسطر";
     }
 ?>

 

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

  • 1

قم بالاستعلام عن العدد الاجمالي للسطور المدرجة ضمن جدول ما، ثم استعمل ذلك في تقييد شيفرة برمجية بشرط ما. 

مثال:


$result = mysql_query('SELECT COUNT(1) FROM target_table');
$num_rows = mysql_result($result, 0, 0);

if($num_rows > 10) { // في حالة تجاوز عدد الصفوف لهذا العدد قم بداخل الشرط

}

 

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

  • 1

يمكن فهم سؤال، كيف أختبر نجاح عملية إضافة بيانات لقاعدة البيانات، أي نجاح تنفيذ insert 

  • إن تنفيذ استعلام insert يعيد قيمة true في حال نجاح تنفيذه يمكن اختبارها ضمن شرط
if(mysqli_query($conn, "INSERT INTO ..."){
	echo 'success';
}else {
	echo 'error.. The error is '. mysqli_error($conn);
}

للتوضيح يمكننا تخزين النتيجة في متغير ثم اختباره ليكون واضح"

<?php
$result = mysql_query("INSERT INTO USERS (NAME ) VALUES ('WAEL')"));

if($result){
  echo "Success";
}else{
  echo "Error";
}

يمكن تطبيق الدالة mysqli_affected_rows على كائن الاتصال بعد تنفيذ أمر insert ويعطينا عدد الأسطر المتأثرة ضمن الجدول وبذلك إن كان عددهم 0 يكون لم يحصل إضافة

$number_of_rows_affected = mysqli_affected_rows($conn);

وفي حال كنت تستخدم PDO يمكن التحقق من قيمة تنفيذ الدالة excute

$sql = 'INSERT INTO user (ID, name) VALUES(?, ?)';

if ($stmt->prepare($sql)) {
    $stmt->bind_param('is', 1, 'wael');

    if ($stmt->execute()) {
        $success = TRUE;   // نجاح الإضافة
    }
}

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...