album:
id p_id title
1 0 类别一
2 1 类别的子类
3 0 类别三
4 3 类别三的子类
album_photo:
id albumid(对应上面的id) title
1 3 文章一
2 4 文章2
现在需要做一个 删除 类别的操作, 当删除album 一个类别的时候 , 检查它是否有子类别,如有就删除, 和删除album_phot 对应的文章
请高手指点一下, 谢谢
id p_id title
1 0 类别一
2 1 类别的子类
3 0 类别三
4 3 类别三的子类
album_photo:
id albumid(对应上面的id) title
1 3 文章一
2 4 文章2
现在需要做一个 删除 类别的操作, 当删除album 一个类别的时候 , 检查它是否有子类别,如有就删除, 和删除album_phot 对应的文章
请高手指点一下, 谢谢
from
album_photo left join album on album_photo.albumid = album.id where album_photo.albumid='{$you_want_to_del_ID}'
{
echo "正在处理类别:$pid <hr/> ";
$sql = "select id from album where pid = $pid";
$row = $db->get($sql); //假设这样就能得到数据并以obj 形式返回.
foreach($row as $key=>$val)
{
recursion_del($val->id);
}
handle_delete($pid);
}function handle_delete($id)
{
$sql = "delete from album where id = $id"; //删类别数据
$db->query($sql);
$sql = "delete from album_photo where albumid = $id";
$db->query($sql);
}
recursion_del(0);
<?php
function recursion_del($pid)
{
$ids = $pid;
echo "正在处理类别:$pid <hr/> ";
$sql = "select id from album where pid = $pid";
$row = $db->get($sql); //假设这样就能得到数据并以obj 形式返回.
foreach($row as $key=>$val)
{
$ids .= ','.recursion_del($val->id);
}
return $ids;
}function handle_delete($id)
{
$ids = recursion_del($id);
$sql = "delete from album where id in ($ids)"; //删类别数据
$db->query($sql);
$sql = "delete from album_photo where albumid in ($ids)";
$db->query($sql);
}
handle_delete(0);
?>
delete from album_photo where albumid in ( SELECT id FROM album a where a.p_id=1 or a.id=1);
delete from album where id in ( SELECT id FROM album a where a.p_id=1 or a.id=1);
$sql = "DELETE FROM jblog_album WHERE id = 3 or p_id = 3";$query = mysql_query("$sql");if($query){
echo ok;
}
$sql_2 = "DELETE from jblog_album_photo where albumid in(select id from jblog_album where p_id=3 or id = 3)";$query_2 = mysql_query("$sql_2");
if($query_2){
echo ok;
}我只写了两句 - -!
好谢谢 几位高手指点。
没测试过,希望能运行。function recursion_del($pid)
{
echo "正在处理类别:$pid <hr/> ";
$sql = "select id from album where pid = $pid";
$row = $db->get($sql); //假设这样就能得到数据并以obj 形式返回.
$res = mysql_query($sql);
while($rows = mysql_fetch_object($res))
{
recursion_del($rows ->id);
handle_delete($pid);
}function handle_delete($id)
{
$sql = "delete from album where id = $id"; //删类别数据
mysql_query($sql);
$sql = "delete from album_photo where albumid = $id";
mysql_query($sql);
}
recursion_del(0);