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

السؤال

Recommended Posts

  • 1
نشر

لنفترض أنك جلبت مجموعة من البيانات و قمت بتمريرها لصفحة العرض و لنقل أن المُتغير الذي مررته هو courses بالتالي في صفحة العرض ستقوم بعمل حلقة لعرض هذه البيانات بالشكل التالي مثلاً

<ul class="nav flex-column">
  @foreach($courses as $course)
  <li class="nav-item">
    <a class="nav-link " href="">{{$course->title}}</a>
  </li>
  @endforeach
</ul>

الآن تريد تغيير طريقة العرض على حسب الid تستخدم التوجيه if الخاص ب blade بهذا الشكل:

<ul class="nav flex-column">
  @foreach($courses as $course)
  @if($course->id % 2 == 0)
  <li class="nav-item">
    <a class="nav-link " href="">{{$course->title}}</a>
  </li>
  @else
  <li class="nav-item">
    <a class="nav-link text-danger" href="">{{$course->title}}</a>
  </li>
  @endif
  @endforeach
</ul>

حيث إذا تحقق الشرط تقوم بعرض البيانات بشكل في بلوك if و إذا لم يتحقق تضع الشكل الآخر في جزء else.

  • 1
نشر

يمكنك القيام بذلك من خلال لغة الـ backend  التي تستعملها أو من خلال لغة JS او أحد اطر عملها في الـ frontend .

المثال التالي يوضح كيف يمكنك القيام بذلك باستخدام لغة  php:

<?php

// تحديد جميع المستخدمين
$q = "SELECT * FROM users WHERE 1";

$users = array();
if ($result = $conn->query($q)){

    while ($row= $result->fetch_assoc()){
        array_push($users, $row) ;
    }

    $result->free();
}

$list = ''
foreach ($users as $user){

 	if($user['id'] % 2 == 0){ //  نطبع الاسم غامقا اذا كان المعرف زوجي
      echo '<span><b>'.$user['name'].'</b></span>';
    }
  	else{ // اذا كان فرديا نطبعه بشكل عادي
            echo '<span>'.$user['name'].'</span>';
    }
}

أو يمكنك القيام باستعلامين منفصلين أحدهما للسطور ذات المعرفات الفردية و الأخرى لذات المعرفات الزوجية كالتالي:

<?php
// تحديد السطور ذات المعرفات الزوجية
$even_q = "SELECT * FROM users WHERE id % 2 = 0";

// تحديد السطور ذات المعرفات الفردية
$odd_q = "SELECT * FROM users WHERE id % 2 = 1";

// تنفيذ الاستعلامات كالكود السابق ..

و يوجد العديد من الطرق الأخرى و يبقى أفضلها حسب حالتك و موقعك الذي تقوم ببنائه.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...