有三个表article(主键:aid),tag(主键:tid),article_tag。 有article aid=A 从数据库去除与A最相关的5篇文章,相关性以共有的tag数据依据

解决方案 »

  1.   

    他的表结构应该是
    article表(iNo(序号),主键:aid)
    tag表(iNo (序号),主键:tid)
    article_tag表(iNo(序号),aid(外键),tid(外键))
    大致写写伪代码,写成一条sql我也不会写,数据库链接取数据的函数你要自己改啊,
    1.首先查出来这条相关的tid
    $sql='select tid from article_tag where aid="A"';
    $arrResult=$connect->iselect($sql);
    2.根据这个tid查找这五条数据的aid
    $tid=$arrResult[0]['tid'];
    $sql='select aid from article_tag where tid="'.$tid.'" limit 0,5';
    $arResult=$connect->iselect($sql);
    3.然后你就可以删除了,循环攒串,
    foreach($arResult as $key=>$value){
     $strSerailPK=$value['aid ']."','";
    }
    $strSerailPK="'".$strSerailPK."'";
    4.两个sql,自己删着玩去吧
    $sql1="delete from article where aid in(".$strSerailPK.")";
    $sql2="delete from article_tag where aid (".$strSerailPK.")";