13

طريقة عمل while لهذه المصفوفة

السلام عليكم ,

كنت برمجة كائن للتعامل مع قواعد البيانات بحيث انه ينتج باخر الاستعلام مصفوفة بداخل كل عنصر منها النتائج لكل صف ع شكل كائن

مثال للتوضيح :

عندي جدول بالقاعدة به الصفوف التالية :

*-id

*-name

*-description

ولنفرض ان الموجود بداخل الجدول عدد من البيانات ولاعرض مثلاً الاسم صاحب الاي دي رقم 1

استخدم :

echo $value['0']->name;

ولعرض الاسم صاحب الاي بي رقم 2

استخدم : echo $value['1']->name;

وهكذا , لكن محتاج اعرض كل البيانات مره واحده عن طريق while وللاسف التكرار يعمل ع صف واحد فقط

فهل من حل ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

1- انشيء متغير عداد $counter خارج حلقة while

2- اضف زيادة بمقدار 1 داخل حلقة التكرار $counter++

3 - استبدل 0 بالمتغير $counter

4- لاتنسى شرط التوقف في شرط حلقة التكرار while

جزاك الله خير ,, وكنت جربت الفكره قبل طرح الموضوع وللاسف لم تنجح ,, هنا الكود كامل اللي جربته ياريت تشوفه وتبلغني ان كان في اي تعديل :

 $int = "0";
 $idforum = $show_forum["$int"];
 $nameforum = $show_forum["$int"]->name;
 while ($a < $idforum->id ) {
     echo"<option> $nameforum</option>";
     $a++;
     $int++;
     }

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

مثلا $end = $idforum->id ; المفترض هناك نهاية للجدول فوضعتها قبل التكرار

<?php

$int = 0;

$end = $idforum->id ;

do {

$idforum = $show_forum[$int];

$nameforum = $show_forum[$int]->name;

echo" $nameforum";

$int++;

} while ($int <= $end );

?>

اشكرك ع تعبك , لكن نجحت معي بالشكل التالي بفضل الله :

$int = 0;
 $idforum = $show_forum["$int"]; 

 while ($a < $idforum->id ) { 
     $nameforum = $show_forum["$int"]->name; 
     echo"<option  value=\"$idforum->id\"> $nameforum</option>"; 
     $a++; 
     $int++; 
     $idforum = $show_forum["$int"]; 
 } 

هذه طريقة جلب البيانات عن طريق دالة While في PHP أتمنى أن تساعدك:

    <?php

    $sql = mysqli_query($db, "SELECT id,name,description FROM `users` ORDER BY `id` DESC"); // هنا أمر تحديد جميع الأعضاء من قاعدة البيانات

    if( mysqli_num_rows($sql) > 0 ) { // التحقق من أنه يوجد صفوف في قاعدة البيانات

        while($row = mysqli_fetch_array($sql)) { // جلب البيانات المحددة على شكل مصفوفة

            echo $row['id'].$row['name'].$row['description']; // طباعة البيانات

        }

    } else {

        echo 'لا يوجد اعضاء بعد';

    }

    ?>

اشكرك ولكن ليس هذا ما ابحث عنه ,, انا اعلم طريقة التكرار , لكن تواجهني مشكله في عمل تكرار لنتائج كائن معين

جزاك الله خير ع المساعده

طالما انك تتعامل مع مصفوفة فالافضل تستخدم foreach

بهذا الشكل