0

サイトにギャラリーがあり、すべてのフォルダーを削除する必要があります

私の構造DB: (g_folder)

id id_parent
1    0
2    0
3    2
4    2
5    3

例えば

それで、フォルダを削除してすべての親フォルダを削除できますか?

再帰?

function delete(folder)
{
  count = select id from g_folder where id_parent = folder
  if(count == 0)
    deleteFolderById(folder)

  while(count != 0)
  {
     array = select id from g_folder where id_parent = folder
     for i in range(count)
     {
       deleteFolderById(array[i])
     }
     count = select id from g_folder where id_parent = folder
     delete(array[0])          
  } 

}

私のアルゴリズムは間違っています、助けてください! 皆さんありがとう!

4

1 に答える 1

0

このようにしてみてください:

function deletefolder($parentid)
{
    $query="select * from g_folder where parentid=".$parentid;
    $result=mysql_query($query);
    if(mysql_num_rows($result)>0)
    {
        while($row=mysql_fetch_array($result))
        {
            deletefolder($row['id']);
        }
        $fdquery="delete from g_folder where parentid=".$parentid;
        $fdresult=mysql_query($fdquery);
    }

    $sdquery="delete from g_folder where id=".$parentid;
    $sdresult=mysql_query($sdquery);
}

deletefolder(2);
于 2012-10-26T11:15:00.197 に答える