Let's say, you've developed a blog or forum and you need to delete some entries. You will also want to delete the responses to those entries. In this example we'll use a table structure like this, where 'refid' is a field used to associate a response with it's referer :
`id`
`refid`
`userid`
`title`
`content`
`tags`
`created`
In our PHP we want to go through each blog entry which we'd like to delete and ascertain it's responses identified by 'refid' before deleting it. Thus :
function deleterecursiveblog($id)
{
$q = "SELECT * FROM `blog` WHERE `refid`='{$id}'";
$result = mysqli_query($con,$q);
if(isset($result))
{
foreach($result as $key)
{
deleterecursiveblog($key['id']);
}
}
$q = "DELETE FROM `blog` WHERE `id`='{$id}'";
$result = mysqli_query($con,$q);
}