Advertisement
Vladimir3261

Legosp sort products

Dec 14th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.42 KB | None | 0 0
  1. <?php
  2. $dsn = "mysql:host=localhost;dbname=armmoney_new;charset=utf8";
  3. $opt = array(
  4.     PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  5.     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  6. );
  7. $pdo = new PDO($dsn, 'root', '123456', $opt); // Объект PDO
  8.  
  9. if($_POST)
  10. {
  11.            $id = $_POST['id'];
  12.            $type = $_POST['type'];
  13.            if($type == 1)
  14.            {
  15.                // to up
  16.                $prewStmt = $pdo->prepare("SELECT * FROM products WHERE sort_by < :sort ORDER by sort_by DESC LIMIT 0,1");
  17.                $prewStmt->execute(['sort' => $current['sort_by']]);
  18.                $prew = $prewStmt->fetch(\PDO::FETCH_ASSOC);
  19.  
  20.               // var_dump($prew['id'].'-'.$current['id']);die();
  21.  
  22.                $pdo->exec("UPDATE products SET sort_by=".$prew['sort_by']." WHERE id=".$current['id']);
  23.                $pdo->exec("UPDATE products SET sort_by=".$current['sort_by']." WHERE id=".$prew['id']);
  24.            }else{
  25.                // to down
  26.                $nextStmt = $pdo->prepare("SELECT * FROM products WHERE sort_by > :sort ORDER by sort_by ASC LIMIT 0,1");
  27.                $nextStmt->execute(['sort' => $current['sort_by']]);
  28.                $next = $nextStmt->fetch(\PDO::FETCH_ASSOC);
  29.  
  30.                $pdo->exec("UPDATE products SET sort_by=".$next['sort_by']." WHERE id=".$current['id']);
  31.                $pdo->exec("UPDATE products SET sort_by=".$current['sort_by']." WHERE id=".$next['id']);
  32.            }
  33.  
  34.            $all = $pdo->prepare("SELECT * FROM `products` ORDER by sort_by ASC");
  35.            $all->execute();
  36.            echo json_encode($all->fetchAll(\PDO::FETCH_ASSOC));die();
  37. }
  38. $stmt = $pdo->prepare("SELECT * FROM `products` ORDER by sort_by ASC");
  39. $stmt->execute();
  40. $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
  41. ?>
  42. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  43.  
  44. <!-- Latest compiled and minified CSS -->
  45. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  46.  
  47. <!-- Optional theme -->
  48. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
  49.  
  50. <!-- Latest compiled and minified JavaScript -->
  51. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  52. <table class="table">
  53.     <thead>
  54.     <tr>
  55.         <th>ID</th>
  56.         <th>NAME</th>
  57.         <th></th>
  58.     </tr>
  59.     </thead>
  60.     <tbody id="tb">
  61.     <?php foreach($data as $d) { ?>
  62.     <tr>
  63.         <td><?=$d['id']?></td>
  64.         <td><?=$d['name']?></td>
  65.         <td>
  66.             <button class="btn btn-success btn-sm" onclick="up(<?=$d['id']?>)">To UP</button>
  67.             <button class="btn btn-danger btn-sm" onclick="down(<?=$d['id']?>)">To Down</button>
  68.         </td>
  69.     </tr>
  70.     <?php } ?>
  71.     </tbody>
  72. </table>
  73.  
  74. <script>
  75.     function up(id) {
  76.         $.post('/', {id:id, type: 1}, function(data){
  77.             var d = JSON.parse(data);
  78.             $("#tb tr").remove();
  79.             $.each(d, function (k, v) {
  80.                 $("#tb").append('<tr>' +
  81.                     '<td>'+v.id+'</td>' +
  82.                     '<td>'+v.name+'</td>' +
  83.                     '<td>'+
  84.                     '<button class="btn btn-success btn-sm" onclick="up('+v.id+')">To UP</button>' +
  85.                     '<button class="btn btn-danger btn-sm" onclick="down('+v.id+')">To Down</button>' +
  86.                 '</td>'+
  87.                 '</tr>');
  88.             });
  89.         })
  90.     }
  91.     function down(id) {
  92.         $.post('/', {id:id, type: 0}, function (data) {
  93.             var d = JSON.parse(data);
  94.             $("#tb tr").remove();
  95.             $.each(d, function (k, v) {
  96.                 $("#tb").append('<tr>' +
  97.                     '<td>'+v.id+'</td>' +
  98.                     '<td>'+v.name+'</td>' +
  99.                     '<td>'+
  100.                     '<button class="btn btn-success btn-sm" onclick="up('+v.id+')">To UP</button>' +
  101.                     '<button class="btn btn-danger btn-sm" onclick="down('+v.id+')">To Down</button>' +
  102.                     '</td>'+
  103.                     '</tr>');
  104.             });
  105.  
  106.         })
  107.     }
  108. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement