conn->prepare($sql); try{ $query->execute(); $count = $query->rowCount(); if($count<1){ $_POST['rec_order']=1; }else{ $data=$query->fetch(PDO::FETCH_ASSOC); $_POST['rec_order']=$data['rec_order']+1; } }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } unset($_POST['form_action'],$_POST['id']); echo $cdb->insert_data($tbname,$_POST); break; //แก้ไขข้อมูล case '2': $id=$_POST['id']; unset($_POST['form_action'],$_POST['id']); echo $cdb->update_data($tbname,$_POST,"menu_id='$id'"); break; // ลบข้อมูล case '3': echo $cdb->delete_data($tbname,"menu_id='$_POST[id]'"); break; // เช็ค url ซ้ำ case '4': unset($_POST['form_action'],$_POST['stamp'],$_POST['username']); $sql="select menu_url from menu where menu_url=:menu_url"; $query=$cdb->conn->prepare($sql); try{ $query->execute($_POST); $count = $query->rowCount(); echo $count; }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } break; //ดึงข้อมูลเพื่อแก้ไขข้อมูล case '5': $sql="select menu_id as id,menu_title,menu_url,menu_type,menu_file,menu_icon "; $sql .=" from menu "; $sql .=" where menu_id=:id "; unset($_POST['form_action'],$_POST['stamp'],$_POST['username']); //print_r($_POST); $query=$cdb->conn->prepare($sql); try{ $query->execute($_POST); $data=$query->fetch(PDO::FETCH_ASSOC); foreach($data as $key=>$value){ if($value==''){$value=' ';} $json_data[$key]=$value; } $json=json_encode($json_data); echo $json; }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } break; //ดึงข้อมูลเพื่อแสดง case '6': $no_field=array('page','qpage','form_action','stamp','username'); $sql="select menu_id as id,menu_title as title,menu_type,menu_url,menu_icon,menu_file,rec_order,status"; $sql .=" from menu where 1=1 "; foreach($_POST as $key=>$value){ if(!in_array($key,$no_field)){ if($value<>''){ $field=str_replace('s_','',$key); if(strpos($key,'title')<>''){ $param[$field]="%$value%"; $sql.=" and $field like :$field "; }else{ $param[$field]=$value; $sql.=" and $field=:$field "; } } } } $sql .=" order by rec_order "; //echo $sql; // คำนวณจำนวนหน้า $query=$cdb->conn->prepare($sql); $query->execute($param); $count = $query->rowCount(); $json_data['pagination']['max_data']=$count; //คำนวณ record เริ่มต้น if($_POST['page']==1){ $json_data['pagination']['state']='แสดง 1 - '.$_POST['qpage']. ' จาก '.number_format($count).' รายการ'; $start=0; }else{ $start=($_POST['page']-1)*$_POST['qpage']; $json_data['pagination']['state']='แสดง '.($start+1).' - '.($start+$_POST['qpage']). ' จาก '.number_format($count).' รายการ'; } $json_data['pagination']['max_loop']=ceil(($count/$_POST['qpage'])); // $sql .=" limit $start,$_POST[qpage] "; //echo $sql; $query=$cdb->conn->prepare($sql); try{ $query->execute($param); $count = $query->rowCount(); $i=1; while($data=$query->fetch(PDO::FETCH_ASSOC)){ foreach($data as $key=>$value){ if($key=='menu_type'){ switch($value){ case '1': $value='ปกติ';break; case '2': $value='มีเมนูย่อย';break; } } $json_data[$i][$key]=$value; } ++$i; } }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } $json=json_encode($json_data); echo $json; break; //ดึงข้อมูลเพื่อทำการสลับข้อมูล case '7': $sql="select menu_id as id,menu_title as title from $tbname order by rec_order"; $query=$cdb->conn->prepare($sql); //print_r($_POST); try{ $query->execute(); $count = $query->rowCount(); $i=1; while($data=$query->fetch(PDO::FETCH_ASSOC)){ foreach($data as $key=>$value){ $json_data[$i][$key]=$value; } if($data['id']==$_POST['id']){$x=$i;} unset($json_data[$x]); ++$i; } $json=json_encode($json_data); echo $json; }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } break; //สลับตำแหน่งข้อมูล function sort case '8': $tb="menu"; $pk='menu_id'; //print_r($_POST); $_POST['oid']=$_POST['oposition']; $_POST['nid']=$_POST['nposition']; $_POST['ort']=$_POST['order_type']; //rec_order($_POST); switch($_POST['ort']){ case '1'://สลับตำแหน่ง $sql="select rec_order from $tb where $pk='$_POST[oid]'"; //echo $sql; $query=$cdb->conn->prepare($sql); $query->execute(); $a=$query->fetch(PDO::FETCH_ASSOC); $sql="select rec_order from $tb where $pk='$_POST[nid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $a2=$query->fetch(PDO::FETCH_ASSOC); $sql="update $tb set rec_order='$a2[rec_order]' where $pk='$_POST[oid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $sql="update $tb set rec_order='$a[rec_order]' where $pk='$_POST[nid]'"; $query2=$cdb->conn->prepare($sql); $query2->execute(); if($query and $query2){echo '0';}else{echo '1';} break; case '2'://อยู่ก่อนหน้า //หาตำแหน่งของ id เดิม $sql="select rec_order from $tb where $pk='$_POST[oid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $ops=$data['rec_order']; //หาตำแหน่งของ id ใหม่ $sql="select rec_order from $tb where $pk='$_POST[nid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $nps=$data['rec_order']; //echo 'ops='.$ops.' nps='.$nps.'
'; if($ops>$nps){ $sql="select $pk,rec_order from $tb where rec_order between "; $sql .="'$nps' and '$ops'"; $sql .=" order by rec_order "; }else{ $sql="select $pk,rec_order from $tb where rec_order between "; $sql .="'$ops' and '$nps'"; $sql .=" order by rec_order "; } //echo $sql.'
'; $query=$cdb->conn->prepare($sql); try{ $query->execute(); $count = $query->rowCount(); $i=1; while($data=$query->fetch(PDO::FETCH_ASSOC)){ //print_r($data); $np[$i]['id']=$data[$pk]; $np[$i]['rec_order']=$data['rec_order']; ++$i; } $i=1; if($ops>$nps){ $sql= "update $tb set rec_order='".$np[1]['rec_order']."' where $pk='".$_POST['oid']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); while($i<$count){ $sql= "update $tb set rec_order='".$np[$i+1]['rec_order']."' where $pk='".$np[$i]['id']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=$ok+0;}else{$ok=$ok+1;} ++$i; } }else{ $sql= "update $tb set rec_order='".$np[$count-1]['rec_order']."' where $pk='".$_POST['oid']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=0;}else{$ok=1;} $i=1; $max=$count-1; while($i<$max){ $sql= "update $tb set rec_order='".$np[$i]['rec_order']."' where $pk='".$np[$i+1]['id']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=$ok+0;}else{$ok=$ok+1;} ++$i; } } }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } echo $ok; break; case '3'://อยู่ด้านหลัง //หาตำแหน่งของ id เดิม $sql="select rec_order from $tb where $pk='$_POST[oid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $ops=$data['rec_order']; //หาตำแหน่งของ id ใหม่ $sql="select rec_order from $tb where $pk='$_POST[nid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $nps=$data['rec_order']; if($ops>$nps){ $sql="select $pk,rec_order from $tb where rec_order between "; $sql .="'$nps' and '$ops'"; $sql .=" order by rec_order "; }else{ $sql="select $pk,rec_order from $tb where rec_order between "; $sql .="'$ops' and '$nps'"; $sql .=" order by rec_order "; } $query=$cdb->conn->prepare($sql); try{ $query->execute(); $count = $query->rowCount(); $i=1; while($data=$query->fetch(PDO::FETCH_ASSOC)){ $np[$i]['id']=$data[$pk]; $np[$i]['rec_order']=$data['rec_order']; ++$i; } $i=2; if($ops>$nps){ $sql= "update $tb set rec_order='".$np[$i]['rec_order']."' where $pk='".$_POST['oid']."'"; $query=$cdb->conn->prepare($sql); $query->execute($_POST); if($query){$ok=0;}else{$ok=1;} while($i<$count){ $sql= "update $tb set rec_order='".$np[$i+1]['rec_order']."' where $pk='".$np[$i]['id']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=$ok+0;}else{$ok=$ok+1;} ++$i; } }else{ $sql= "update $tb set rec_order='".$np[$count]['rec_order']."' where $pk='".$_POST['oid']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=0;}else{$ok=1;} $i=2; $max=$count+1; while($i<$max){ $sql= "update $tb set rec_order='".$np[$i-1]['rec_order']."' where $pk='".$np[$i]['id']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=$ok+0;}else{$ok=$ok+1;} ++$i; } } }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } echo $ok; break; case '4'://ตำแหน่งแรก //หาตำแหน่งของ id เดิม $sql="select rec_order from $tb where $pk='$_POST[oid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $ops=$data['rec_order']; $sql="select $pk,rec_order from $tb order by rec_order limit 0,1"; //echo $sql; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $nps=$data['rec_order']; $sql="select $pk,rec_order from $tb where rec_order between "; $sql .="'$nps' and '$ops'"; $sql .=" order by rec_order "; //echo $sql.'
'; $query=$cdb->conn->prepare($sql); try{ $query->execute(); $count = $query->rowCount(); $i=1; while($data=$query->fetch(PDO::FETCH_ASSOC)){ $np[$i]['id']=$data[$pk]; $np[$i]['rec_order']=$data['rec_order']; ++$i; } }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } $i=1; $sql= "update $tb set rec_order='".$np[$i]['rec_order']."' where $pk='".$_POST['oid']."'"; //echo $sql.'
'; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=0;}else{$ok=1;} while($i<$count){ $sql= "update $tb set rec_order='".$np[$i+1]['rec_order']."' where $pk='".$np[$i]['id']."'"; // echo $sql.'
'; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=$ok+0;}else{$ok=$ok+1;} ++$i; } echo $ok; break; case '5'://ตำแหน่งสุดท้าย $sql="select rec_order from $tb where $pk='$_POST[oid]'"; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $ops=$data['rec_order']; $sql="select $pk,rec_order from $tb order by rec_order desc limit 0,1"; //echo $sql; $query=$cdb->conn->prepare($sql); $query->execute(); $data=$query->fetch(PDO::FETCH_ASSOC); $nps=$data['rec_order']; $sql="select $pk,rec_order from $tb where rec_order between "; $sql .="'$ops' and '$nps'"; $sql .=" order by rec_order "; $query=$cdb->conn->prepare($sql); try{ $query->execute(); $count = $query->rowCount(); $i=1; while($data=$query->fetch(PDO::FETCH_ASSOC)){ $np[$i]['id']=$data[$pk]; $np[$i]['rec_order']=$data['rec_order']; ++$i; } }catch(PDOException $er){ echo 'Error :'.$er->getMessage(); } $sql= "update $tb set rec_order='".$np[$count]['rec_order']."' where $pk='".$_POST['oid']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=0;}else{$ok=1;} $i=1; while($i<$count){ $sql= "update $tb set rec_order='".$np[$i]['rec_order']."' where $pk='".$np[$i+1]['id']."'"; $query=$cdb->conn->prepare($sql); $query->execute(); if($query){$ok=$ok+0;}else{$ok=$ok+1;} ++$i; } echo $ok; break; } break; }