Ejemplo n.º 1
0
 /**
  * 階層構造のテーブルから親ID配列を取得する.
  *
  * @param  string  $table    テーブル名
  * @param  string  $pid_name 親ID名
  * @param  string  $id_name  ID名
  * @param  integer $id       ID
  * @return array   親IDの配列
  */
 public function sfGetParentsArray($table, $pid_name, $id_name, $id)
 {
     $arrParents = array();
     $ret = $id;
     $loop_cnt = 1;
     while ($ret != '0' && !SC_Utils_Ex::isBlank($ret)) {
         // 無限ループの予防
         if ($loop_cnt > LEVEL_MAX) {
             trigger_error('最大階層制限到達', E_USER_ERROR);
         }
         $arrParents[] = $ret;
         $ret = SC_Helper_DB_Ex::sfGetParentsArraySub($table, $pid_name, $id_name, $ret);
         ++$loop_cnt;
     }
     $arrParents = array_reverse($arrParents);
     return $arrParents;
 }
Ejemplo n.º 2
0
 /**
  * 階層構造のテーブルから親ID配列を取得する.
  *
  * @param string $table テーブル名
  * @param string $pid_name 親ID名
  * @param string $id_name ID名
  * @param integer $id ID
  * @return array 親IDの配列
  */
 function sfGetParentsArray($table, $pid_name, $id_name, $id)
 {
     $arrParents = array();
     $ret = $id;
     while ($ret != "0" && !SC_Utils_Ex::isBlank($ret)) {
         $arrParents[] = $ret;
         $ret = SC_Helper_DB_Ex::sfGetParentsArraySub($table, $pid_name, $id_name, $ret);
     }
     $arrParents = array_reverse($arrParents);
     return $arrParents;
 }