Php 删除数据库中的文件夹
我有画廊在网站上,我需要删除所有文件夹 我的scructure数据库:(g_文件夹) 比如说 那么,我是否可以删除文件夹并删除所有父文件夹 递归Php 删除数据库中的文件夹,php,sql,algorithm,Php,Sql,Algorithm,我有画廊在网站上,我需要删除所有文件夹 我的scructure数据库:(g_文件夹) 比如说 那么,我是否可以删除文件夹并删除所有父文件夹 递归 function delete(folder) { count = select id from g_folder where id_parent = folder if(count == 0) deleteFolderById(folder) while(count != 0) { array = select i
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])
}
}
我的算法错了,请帮忙!谢谢大家 试着这样做:
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);
这是什么数据库引擎?您可能应该在数据库本身中使用带有
ON DELETE CASCADE
的外键来实现这一点,并完全避免应用程序端逻辑。是否递归删除所有父级?你确定吗?这可能会刷新整个表。为什么不能使用“从g_文件夹中删除”直接删除,其中“父项id=$Parents”如果一个项的id=1,父项id=0,则子项和父项都位于同一文件夹中。那么为什么不删除holde文件夹一次呢?
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);