最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實(shí)現(xiàn)更新中間關(guān)聯(lián)表數(shù)據(jù)的兩種方法

 更新時間:2014年09月01日 09:17:06   投稿:shichen2014  
這篇文章主要介紹了PHP實(shí)現(xiàn)更新中間關(guān)聯(lián)表數(shù)據(jù)的兩種方法,在進(jìn)行多表操作時比較有參考價值,需要的朋友可以參考下

本文以示例形式展示了PHP實(shí)現(xiàn)更新中間關(guān)聯(lián)表數(shù)據(jù)的兩種方法。分享給大家供大家參考之用。具體方法如下:

首先,中間關(guān)聯(lián)表:這里的中間表只存表1的主鍵和表2的主鍵,即多對多的形式。
執(zhí)行數(shù)據(jù)添加和刪除為框架內(nèi)部方法,不屬于思路部分。

方法一:先全部刪除舊數(shù)據(jù),后添加新數(shù)據(jù)

$res = $this->classes->classEdit($id, $data);  //修改主表數(shù)據(jù)
if($res)
{
  //先刪除關(guān)聯(lián)表數(shù)據(jù)
  $bool = $this->lesson_classes->lessonClassesDel($id);
  if($bool)
  {
    //循環(huán)組裝條件,添加數(shù)據(jù)
    foreach($lesson_ids as $val)
    {
      $arr = array('class_id'=>$id, 'lesson_id'=>$val);    //數(shù)據(jù)
      $res = $this->lesson_classes->lessonClassesAdd($arr);  //執(zhí)行添加
    }
  }
  $this->show_tips('操作成功!');
}
else
{
  $this->show_tips('操作失敗!');
}

使用該方法弊端:大批量刪除數(shù)據(jù)這塊兒不安全,存在一定程度的安全隱患。

方法二:只添加需要的,只刪要刪的

//庫中查出的舊數(shù)據(jù):$arr_old (處理過的一維數(shù)組)
//提交過來的新數(shù)據(jù):$arr_new (得到的一維數(shù)組)

$intersect = array_intersect($arr_old, $arr_new);   //交集(需要保留的部分,不用處理)
$result_del = array_diff($arr_old, $intersect);    //舊數(shù)據(jù)中需要刪除的
$result_add = array_diff($arr_new, $intersect);    //新數(shù)據(jù)中需要增加的

//添加新增數(shù)據(jù)
if($result_add && is_array($result_add))
{
  foreach($result_add as $val)
  {
    $data_add = array('class_id'=>$id, 'lesson_id'=>$val);       //數(shù)據(jù)
    $bool_add = $this->lesson_classes->lessonClassesAdd($data_add);  //執(zhí)行添加
  }
}

//刪除需要清除的數(shù)據(jù)
if($result_del && is_array($result_del))
{
  foreach($result_del as $val)
  {
    $bool_del = $this->lesson_classes->lessonClassesDel($id, $val); //執(zhí)行刪除
  }
}
if($bool_add && $bool_del)
{
  $this->show_tips('操作成功!');
}
else
{
  $this->show_tips('操作失?。?);
}

該方法特點(diǎn):有針對性的添加數(shù)據(jù)和刪除數(shù)據(jù),較第一種方法,安全性高

希望本文所述對大家的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

永康市| 马关县| 故城县| 湟源县| 冀州市| 垣曲县| 双江| 常山县| 九江市| 资兴市| 宁乡县| 普定县| 汤阴县| 无为县| 衢州市| 赤城县| 陕西省| 达日县| 麦盖提县| 龙井市| 龙海市| 天水市| 深水埗区| 天津市| 当阳市| 石柱| 巧家县| 阿坝县| 威宁| 定陶县| 珲春市| 武定县| 涞源县| 广水市| 大安市| 体育| 巫山县| 门源| 景德镇市| 大连市| 泗阳县|