خذ وأتمني تفهمها هي بسيطة إن شاء الله
كود PHP:
// دالة تروح لها برقم تصنيف ترجع لك بمصفوفة فيها كل الأبهات لحد الرئيسي
function get_all_parent_cat($parentcat)
{
global $arabsbook;
$this->load_catbuffer();
foreach ( $arabsbook->catbuffer as $val )
{
if ($val['catid'] == $parentcat)
{
if ( $val['parentid'] )
{
$this->needed_update[] = $val['catid'];
$this->get_all_parent_cat($val['parentid']);
}
else
$this->needed_update[] = $val['catid'];
}
}
return $this->needed_update;
}
الدالة من برمجتي ولن أدرس فيها أية دوال خارجية
$this->load_catbuffer();
هي دالة في نفس الكلاس تحمل كل التصنيفات في البافر
كود PHP:
function load_catbuffer()
{
global $arabsbook;
if ( !$arabsbook->catbuffer )
{
$arabsbook->mysql->select('*', "lib_category", '', '', "ORDER BY `order`");
while ( $myrow = $arabsbook->mysql->fetch_row() )
$arabsbook->catbuffer[$myrow['catid']] = $myrow;
}
}
طبعا الشرط حتي لو كانت متحملة ما يعيد تحميلها مرة ثانية
حمل كل التصنيفات فيها وستعود لك الدالة اللي فوق بمصفوفة فيها كل أبهات أي تصنيف تروح لها به
حذ التصنيفات في المصفوفة ونفذ تعليمة سكول بالزيادة 1 مثلا أو أي رقم لحقل الملفات فيها كلها بنظام
update `dd` set `tt`= 'gg' where `qq` in array
array هي قوسين فيهم التصنيفات يعني هتحتاج تستخدم implode في المصفوفة
فهمت حاجة :eek3:
سأحاول التوضيح في وقت لاحق