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']);
$sql="select menu2_id from $tbname where menu2_title='$_POST[menu2_title]' ";
$query=$cdb->conn->prepare($sql);
try{
$query->execute();
$count = $query->rowCount();
if($count=='0'){
echo $cdb->insert_data($tbname,$_POST);
}else{
echo 'false_again';
}
}catch(PDOException $er){
echo 'Error :'.$er->getMessage();
}
break;
//แก้ไขข้อมูล
case '2':
$id=$_POST['id'];
unset($_POST['form_action'],$_POST['id']);
//ตรวจสอบว่าข้อมูลที่แก้ไขอยู่หมวดเดิมหรือไม่ ถ้าไม่ให้ค้นหาลำดับของข้อมูลหมวดที่ทำการแก้ไข
$sql="select menu_id from menu2 where menu2_id='$id'";
$query=$cdb->conn->prepare($sql);
$query->execute();
$data=$query->fetch(PDO::FETCH_ASSOC);
if($data['menu_id']!==$_POST['menu_id']){
$sql="select rec_order from $tbname where menu_id='$_POST[menu_id]' order by rec_order desc limit 0,1 ";
$query=$cdb->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();
}
}
echo $cdb->update_data($tbname,$_POST,"menu2_id='$id'");
break;
// ลบข้อมูล
case '3':
echo $cdb->delete_data($tbname,"menu2_id='$_POST[id]'");
break;
// เช็ค url ซ้ำ
case '4':
unset($_POST['form_action'],$_POST['stamp'],$_POST['username']);
$sql="select menu2_url from menu2 where menu2_url=:menu2_url and menu_id=:menu_id ";
$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 menu2_id as id,menu2_title,menu2_url,menu_id,menu2_icon,menu2_file ";
$sql .=" from $tbname ";
$sql .=" where menu2_id=:id ";
//echo $sql;
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':
$sql="select menu_id,menu_title from menu where menu_type='2' order by menu_id ";
$query=$cdb->conn->prepare($sql);
$query->execute($param);
$count = $query->rowCount();
if($count>0){
while($data=$query->fetch(PDO::FETCH_ASSOC)){
$menu[$data['menu_id']]=$data['menu_title'];
}
}
$no_field=array('page','qpage','form_action','stamp','username');
$sql="select menu2_id as id,menu2_title as title,menu2_url,menu2_icon,menu2_file,rec_order,status,menu_id";
$sql .=" from $tbname 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 menu_id,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_id'){
$json_data[$i]['menu']=$menu[$value];
}
$json_data[$i][$key]=$value;
}
++$i;
}
}catch(PDOException $er){
echo 'Error :'.$er->getMessage();
}
$json=json_encode($json_data);
echo $json;
break;
//ดึงข้อมูลเพื่อทำการสลับข้อมูล sort_data
case '7':
$pid='menu_id';
$sql="select menu2_id as id,menu2_title as title from $tbname where $pid='$_POST[pid]' 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="menu2";
$pk='menu2_id';
$pid='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]' and $pid='$_POST[pid]'";
//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]' and $pid='$_POST[pid]'";
$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]' and $pid='$_POST[pid]'";
$query=$cdb->conn->prepare($sql);
$query->execute();
$sql="update $tb set rec_order='$a[rec_order]' where $pk='$_POST[nid]' and $pid='$_POST[pid]'";
$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]' and $pid='$_POST[pid]'";
$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]' and $pid='$_POST[pid]'";
$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 $pid='$_POST[pid]' and rec_order between ";
$sql .="'$nps' and '$ops'";
$sql .=" order by rec_order ";
}else{
$sql="select $pk,rec_order from $tb where $pid='$_POST[pid]' and 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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$query=$cdb->conn->prepare($sql);
$query->execute();
if($query){$ok=$ok+0;}else{$ok=$ok+1;}
++$i;
}
}
echo $ok;
}catch(PDOException $er){
echo 'Error :'.$er->getMessage();
}
break;
case '3'://อยู่ด้านหลัง
//หาตำแหน่งของ id เดิม
$sql="select rec_order from $tb where $pk='$_POST[oid]' and $pid='$_POST[pid]'";
$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]' and $pid='$_POST[pid]'";
$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 $pid='$_POST[pid]' and rec_order between ";
$sql .="'$nps' and '$ops'";
$sql .=" order by rec_order ";
}else{
$sql="select $pk,rec_order from $tb where $pid='$_POST[pid]' and 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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$query=$cdb->conn->prepare($sql);
$query->execute();
if($query){$ok=$ok+0;}else{$ok=$ok+1;}
++$i;
}
echo $ok;
}
}catch(PDOException $er){
echo 'Error :'.$er->getMessage();
}
break;
case '4'://ตำแหน่งแรก
//หาตำแหน่งของ id เดิม
$sql="select rec_order from $tb where $pk='$_POST[oid]' and $pid='$_POST[pid]'";
$query=$cdb->conn->prepare($sql);
$query->execute();
$data=$query->fetch(PDO::FETCH_ASSOC);
$ops=$data['rec_order'];
$sql="select $pk,rec_order from $tb where $pid='$_POST[pid]' 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 $pid='$_POST[pid]' and 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']."' and $pid='$_POST[pid]'";
//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']."' and $pid='$_POST[pid]'";
// 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]' and $pid='$_POST[pid]'";
$query=$cdb->conn->prepare($sql);
$query->execute();
$data=$query->fetch(PDO::FETCH_ASSOC);
$ops=$data['rec_order'];
$sql="select $pk,rec_order from $tb where $pid='$_POST[pid]' 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 $pid='$_POST[pid]' and 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']."' and $pid='$_POST[pid]'";
$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']."' and $pid='$_POST[pid]'";
$query=$cdb->conn->prepare($sql);
$query->execute();
if($query){$ok=$ok+0;}else{$ok=$ok+1;}
++$i;
}
echo $ok;
break;
}
break;
}
?>