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

السؤال

نشر

السلام عليكم
عندي جدول في قاعده البيانات فيه اسماء الدول
مثلا
مصر
السعوديه
الكويت
الخ
والجدول ده عباره عن عمودين
Nationid
Nationname
عن طريق ربط الموقع ب api لموقع اخر
يتم جلب عدد سكان هذه الدول
وبالتالي نقدر نعمل جدول يعرض لنا عدد سكان الدول ازيد مثلا من ٣٠ مليون
فبيعرض لك الجدول هذه الدول 
ويكون الجدول المولد ديناميكيا كالتالي
اسم الدوله
عدد سكان الدوله
كيف اقدر اجيب عدد هذه الدول
وايضا المجموع الاجمالي لسكان هذه الدول
١

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

هل تقصد أن الجدول الذي يتم توليده ديناميكيا يتم حفظه في قاعدة البيانات ؟ أم أين يتم توليده ؟

إذا كان يتم توليده بالكود يرجى توضيح الكود الذي تعمل به وهيكل البيانات التي لديك التي تقوم بها بإنشاء الجدول ديناميكيا .

وإذا كنت تقصد أنه يتم توليده في الكود فالأمر بسيط كل ما عليك هو المرور على قائمة الدول كالتالي :

function calculateTotalPopulation($countries) {
    $totalPopulation = 0;
    $numberOfCountries = count($countries);

    foreach ($countries as $country) {
        $totalPopulation += $country['Population'];
    }

    return [$numberOfCountries, $totalPopulation];
}

ويمكنك تغير إسم العمود Population بإسم العمود الموجود لديك والذي يحوي عدد السكان في تلك الدولة. ويمكنك إستدعاء الدالة مباشرة وتمرير قائمة الدول . وستعيد لك قائمة بها مجموع عدد الدول و مجموع عدد السكان.

  • 0
نشر

يتم توليده في الكود ولا يتم تخزينه في قاعده البيانلت

يتم استدعاء الجدول من قاعده البيانات

اسم الدوله ورقمها

ويتم استدعاء عدد سكان الدوله عن طريق api من موقع اخر

وحسب قاعده if

اذا كان عدد سكان الدوله اكثر من ٣٠ مليون يتم ادراج هذه الدول في جدول مولد ديناميكيا

اريد ان احصل علي عدد هذه الدول

ومجموع عدد سكانها

يتم وضع شرط 

Nationid$ من قاعده البيانات

Nationname$ من قاعده البيانات

Nationnumber$ من api من موقع خارجي حسب nationid يتم جلبه

{يتم توليد الجدول}If($nationnumber>30)

اريد عدد الصفوف

وجموع صف معين

  • 0
نشر
بتاريخ 12 دقائق مضت قال محمد السعيد10:

يتم توليده في الكود ولا يتم تخزينه في قاعده البيانلت

يتم استدعاء الجدول من قاعده البيانات

اسم الدوله ورقمها

ويتم استدعاء عدد سكان الدوله عن طريق api من موقع اخر

وحسب قاعده if

اذا كان عدد سكان الدوله اكثر من ٣٠ مليون يتم ادراج هذه الدول في جدول مولد ديناميكيا

اريد ان احصل علي عدد هذه الدول

ومجموع عدد سكانها

يتم وضع شرط 

Nationid$ من قاعده البيانات

Nationname$ من قاعده البيانات

Nationnumber$ من api من موقع خارجي حسب nationid يتم جلبه

{يتم توليد الجدول}If($nationnumber>30)

اريد عدد الصفوف

وجموع صف معين

إذا يمكنك إنشاء متغيرين قبل الشرط if وبداخل الشرط يمكنك زيادة ذلك المتغيرين كالتالي :

$totalPopulation = 0;
$numberOfCountries = 0;

If($nationnumber>30){
$totalPopulation += $nationnumber;
$numberOfCountries++;
// توليد الجدول
}

وهكذا في النهاية سيكون لديك المتغيرين totalPopulation والذي يحوي عدد السكان و numberOfCountries والذي يحوي عدد الدول.

  • 0
نشر (معدل)

دقايق وارسله

بتاريخ 34 دقائق مضت قال محمد عاطف17:

يرجي إرفاق الكود كما طلبت منك . حيث لا اعلم ما هي بنية المتغيرات لديك . ولكن يجب على الفكرة أن تكون واحدة ويمكنك تطبيقها بناء على الكود الذي لديك .

function latestitem1($select, $table,$innerjoin = null,$where = null){ global $con; $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where"); $latestitems->execute(); $latestitem = $latestitems->fetchall(); return $latestitem; }

 

;nations = latestitem1( "nation.*", "nation", "", "", "")$

}foreach ($nations as $nation)

;nationid = $nation['nationid']$

;nationname = $nation['nationname']$

جلب عدد سكان الدوله عن طريق api

;nationnumber = nationnumber($nationid)$

if (nationnumber > 200) 

}

;"<echo "<td>" . $nationid . "</td

;"<echo "<td>" . $nationname . "</td

;"<echo "<td>" . $nationnumber . "</td

{{

بتاريخ 34 دقائق مضت قال محمد عاطف17:

يرجي إرفاق الكود كما طلبت منك . حيث لا اعلم ما هي بنية المتغيرات لديك . ولكن يجب على الفكرة أن تكون واحدة ويمكنك تطبيقها بناء على الكود الذي لديك .

ارسلته

عايز عدد الدول التي ظهرت في الجدول فقط

ومجموع سكان هءه الدول فقط

تم التعديل في بواسطة محمد السعيد10
  • 0
نشر
بتاريخ 49 دقائق مضت قال محمد السعيد10:

دقايق وارسله

function latestitem1($select, $table,$innerjoin = null,$where = null){ global $con; $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where"); $latestitems->execute(); $latestitem = $latestitems->fetchall(); return $latestitem; }

 

;nations = latestitem1( "nation.*", "nation", "", "", "")$

}foreach ($nations as $nation)

;nationid = $nation['nationid']$

;nationname = $nation['nationname']$

جلب عدد سكان الدوله عن طريق api

;nationnumber = nationnumber($nationid)$

if (nationnumber > 200) 

}

;"<echo "<td>" . $nationid . "</td

;"<echo "<td>" . $nationname . "</td

;"<echo "<td>" . $nationnumber . "</td

{{

ارسلته

عايز عدد الدول التي ظهرت في الجدول فقط

ومجموع سكان هءه الدول فقط

يبدوا انك وضعت الكود الخاص بتصفير المتغير بداخل foreach لهذا حدثت لك تلك المشلكة . يجب نقله بخارج حلقة for هكذا :

<?php
function latestitem1($select, $table, $innerjoin = null, $where = null)
{
    global $con;
    $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where");
    $latestitems->execute();
    $latestitem = $latestitems->fetchall();
    return $latestitem;
}



$nations = latestitem1("nation.*", "nation", "", "", "");
$totalPopulation = 0;
$numberOfCountries = 0;

foreach ($nations as $nation) {

    $nationid = $nation['nationid'];

    $nationname = $nation['nationname'];


    $nationnumber = nationnumber($nationid);

    if ($nationnumber > 200) {
        $totalPopulation += $nationnumber;
        $numberOfCountries++;
        echo "<td>" . $nationid . "</td>";
        echo "<td>" . $nationname . "</td>";
        echo "<td>" . $nationnumber . "</td>";
    }
}

echo "<td>" . $numberOfCountries . "</td>";
echo "<td>" . $totalPopulation . "</td>";

 

  • 0
نشر
بتاريخ 21 دقائق مضت قال محمد عاطف17:

يبدوا انك وضعت الكود الخاص بتصفير المتغير بداخل foreach لهذا حدثت لك تلك المشلكة . يجب نقله بخارج حلقة for هكذا :

<?php
function latestitem1($select, $table, $innerjoin = null, $where = null)
{
    global $con;
    $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where");
    $latestitems->execute();
    $latestitem = $latestitems->fetchall();
    return $latestitem;
}



$nations = latestitem1("nation.*", "nation", "", "", "");
$totalPopulation = 0;
$numberOfCountries = 0;

foreach ($nations as $nation) {

    $nationid = $nation['nationid'];

    $nationname = $nation['nationname'];


    $nationnumber = nationnumber($nationid);

    if ($nationnumber > 200) {
        $totalPopulation += $nationnumber;
        $numberOfCountries++;
        echo "<td>" . $nationid . "</td>";
        echo "<td>" . $nationname . "</td>";
        echo "<td>" . $nationnumber . "</td>";
    }
}

echo "<td>" . $numberOfCountries . "</td>";
echo "<td>" . $totalPopulation . "</td>";

 

للاسف عدد الدول يطلع صفر رغم ان الجدول طالع فيه اربع دول وناتج الجدول صح 4 دول لكن ناتج عدد الدول خطا المفروض يكون 4 دول ما هو الحدل

  • 0
نشر
بتاريخ 2 دقائق مضت قال محمد السعيد10:

للاسف عدد الدول يطلع صفر رغم ان الجدول طالع فيه اربع دول وناتج الجدول صح 4 دول لكن ناتج عدد الدول خطا المفروض يكون 4 دول ما هو الحدل

هل قمت بوضع أخر سطرين الخاصين بطباعة عدد الدول و عدد السكان خارج ال foreach ؟ يجب أن تقوم بوضعهم بالخارج كما فعلت لك في الكود السابق .

ويرجى ملاحظة أنه سيتم إحتساب عدد الدول فقط التي لها عدد سكان أكبر من 200 .

يرجى إرفاق صورة للكود الذي لديك إذا إستمرت المشكلة.

  • 0
نشر
بتاريخ 27 دقائق مضت قال محمد عاطف17:

يبدوا انك وضعت الكود الخاص بتصفير المتغير بداخل foreach لهذا حدثت لك تلك المشلكة . يجب نقله بخارج حلقة for هكذا :

<?php
function latestitem1($select, $table, $innerjoin = null, $where = null)
{
    global $con;
    $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where");
    $latestitems->execute();
    $latestitem = $latestitems->fetchall();
    return $latestitem;
}



$nations = latestitem1("nation.*", "nation", "", "", "");
$totalPopulation = 0;
$numberOfCountries = 0;

foreach ($nations as $nation) {

    $nationid = $nation['nationid'];

    $nationname = $nation['nationname'];


    $nationnumber = nationnumber($nationid);

    if ($nationnumber > 200) {
        $totalPopulation += $nationnumber;
        $numberOfCountries++;
        echo "<td>" . $nationid . "</td>";
        echo "<td>" . $nationname . "</td>";
        echo "<td>" . $nationnumber . "</td>";
    }
}

echo "<td>" . $numberOfCountries . "</td>";
echo "<td>" . $totalPopulation . "</td>";

 

اعتقد انك حطيت عمود جديد في الجدول بيجمع الصفوف اللي قبله فبيطلع لك عدد الدول السابقه  

انا مش عايز كده انا عايز عدد جميع الدول اللي في الجدول كمتغير علشان عستخدمه ف مكان ثاني في الصفحه

 

  • 0
نشر
بتاريخ الآن قال محمد السعيد10:

اعتقد انك حطيت عمود جديد في الجدول بيجمع الصفوف اللي قبله فبيطلع لك عدد الدول السابقه  

انا مش عايز كده انا عايز عدد جميع الدول اللي في الجدول كمتغير علشان عستخدمه ف مكان ثاني في الصفحه

 

سؤالك لم يكن واضح قليلا إعتقد أنك تريد فقط مجموع الدول وعدد سكانها التي أكبر من شرط معين .

<?php
function latestitem1($select, $table, $innerjoin = null, $where = null)
{
    global $con;
    $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where");
    $latestitems->execute();
    $latestitem = $latestitems->fetchall();
    return $latestitem;
}



$nations = latestitem1("nation.*", "nation", "", "", "");
$totalPopulation = 0;
$numberOfCountries = count($nations);

foreach ($nations as $nation) {

    $nationid = $nation['nationid'];

    $nationname = $nation['nationname'];


    $nationnumber = nationnumber($nationid);
    $totalPopulation += $nationnumber;

    if ($nationnumber > 200) {
        echo "<td>" . $nationid . "</td>";
        echo "<td>" . $nationname . "</td>";
        echo "<td>" . $nationnumber . "</td>";
    }
}

echo "<td>" . $numberOfCountries . "</td>";
echo "<td>" . $totalPopulation . "</td>";

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

  • 0
نشر
بتاريخ 28 دقائق مضت قال محمد عاطف17:

سؤالك لم يكن واضح قليلا إعتقد أنك تريد فقط مجموع الدول وعدد سكانها التي أكبر من شرط معين .

<?php
function latestitem1($select, $table, $innerjoin = null, $where = null)
{
    global $con;
    $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where");
    $latestitems->execute();
    $latestitem = $latestitems->fetchall();
    return $latestitem;
}



$nations = latestitem1("nation.*", "nation", "", "", "");
$totalPopulation = 0;
$numberOfCountries = count($nations);

foreach ($nations as $nation) {

    $nationid = $nation['nationid'];

    $nationname = $nation['nationname'];


    $nationnumber = nationnumber($nationid);
    $totalPopulation += $nationnumber;

    if ($nationnumber > 200) {
        echo "<td>" . $nationid . "</td>";
        echo "<td>" . $nationname . "</td>";
        echo "<td>" . $nationnumber . "</td>";
    }
}

echo "<td>" . $numberOfCountries . "</td>";
echo "<td>" . $totalPopulation . "</td>";

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

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

 

  • 0
نشر
بتاريخ 1 ساعة قال محمد عاطف17:

سؤالك لم يكن واضح قليلا إعتقد أنك تريد فقط مجموع الدول وعدد سكانها التي أكبر من شرط معين .

<?php
function latestitem1($select, $table, $innerjoin = null, $where = null)
{
    global $con;
    $latestitems = $con->prepare("SELECT $select FROM $table $innerjoin $where");
    $latestitems->execute();
    $latestitem = $latestitems->fetchall();
    return $latestitem;
}



$nations = latestitem1("nation.*", "nation", "", "", "");
$totalPopulation = 0;
$numberOfCountries = count($nations);

foreach ($nations as $nation) {

    $nationid = $nation['nationid'];

    $nationname = $nation['nationname'];


    $nationnumber = nationnumber($nationid);
    $totalPopulation += $nationnumber;

    if ($nationnumber > 200) {
        echo "<td>" . $nationid . "</td>";
        echo "<td>" . $nationname . "</td>";
        echo "<td>" . $nationnumber . "</td>";
    }
}

echo "<td>" . $numberOfCountries . "</td>";
echo "<td>" . $totalPopulation . "</td>";

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

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

  • 0
نشر
بتاريخ 13 ساعة قال محمد السعيد10:

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

؟

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...