[Javascript] Drag and drop. Aggiornamento Campo

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
Salve a tutti. Sono riuscito ad adattare questo codice alle mie esigenze.
PHP:
<?php
if(isset($_POST['submit'])){
    $conn=mysqli_connect("localhost","","","");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
  require_once('dbconn.php');
$data= $_POST['data'];
$converted = date("Y-m-d", strtotime($data));
  $sqlIncomplete= "SELECT * FROM disponibili where disponibili = 'no'  and  data = '$converted' ORDER BY cognome asc";
  $result= mysqli_query($conn, $sqlIncomplete);
  $incomleteItems   = mysqli_fetch_all($result,MYSQLI_ASSOC);
  $sqlCompleted = "SELECT * FROM disponibili where disponibili = 'si' and  data ='$converted'  ORDER BY cognome asc";
  $completeResult    = mysqli_query($conn, $sqlCompleted);
  $completeItems  = mysqli_fetch_all($completeResult, MYSQLI_ASSOC);
 mysqli_free_result($completeResult);
mysqli_free_result($result);
mysqli_close($conn); 
}

?>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>DISPONIBILITA'</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<h2 align="center">Per la data &nbsp;<?php $data = $_POST['data'];
    $converted1 = date("d/m/Y", strtotime($data));echo $converted1; ?> sono impegnati i seguenti</h2>
  <style>
  .li_containers{
       width: 52%;
       float: left;
   }
  .listitems { 
     width: 120px; 
     height: 100px; 
     padding: 0.5em; 
     float: left; 
     margin: 10px 10px 10px 0;
      border: 1px solid black;
      font-weight: normal;
      background-color:cadetblue;
      box-shadow: 10px 10px 5px grey;
      }
  #droppable { 
   width:   550px; 
   height:  550px; 
   padding: 0.5em; 
   float:   right; 
   margin:  10px;
    cursor:  pointer ;
       }
 </style>
</head>
<body>
  <div id="droppable1" class="li_containers">
   <h3>Lista indisponibili</h3>
<?php foreach ($incomleteItems as $key => $item) { ?>
<div id="no" class="ui-widget-content listitems" data-itemid=<?php echo $item['id'] ?>
<p><strong><?php echo $item['cognome'] ?></strong></p>
       <p><?php echo $item['mezzo'] ?></p>
      <p><?php echo $item['telefono'] ?></p>
   </div>
<?php } ?>
</div>
<h3 align="right">Lista disponibili</h3>
<div id="droppable" class="ui-widget-header">
  <?php foreach ($completeItems as $key => $citem) { ?>
   <div class="listitems" >
<p><strong><?php echo $citem['cognome'] ?></strong></p>
     <p><?php echo $citem['mezzo'] ?></p>
     <p><?php echo $citem['telefono'] ?></p>
   </div>
<?php } ?>
</div>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>

$( function() {
$( ".listitems" ).draggable();
$( "#droppable" ).droppable({
       drop: function( event, ui ) {
$(this).addClass( "ui-state-highlight" );
       var itemid = ui.draggable.attr('data-itemid')
$.ajax({
  method: "POST",
            url: "update_item_status.php",
            data:{'itemid': itemid},       
}).done(function( data ) {
var result = $.parseJSON(data);
       });
       }
     });
  });
</script>
</body>
</html>
che va ad eseguire la query da un altro indirizzo.
PHP:
<?php
require_once('dbconn.php');
$itemid  = intval($_POST['itemid']);
$sql = "update disponibili set disponibili = 'no'  where id = $itemid";
$conn->query($sql);
$conn->close();
echo json_encode(array('success'=>1));
Funziona tutto correttamente. Vorrei che quando se lo riporto alla posizione iniziale mi aggiornasse quel campo in SI
Come posso fare?
 
La tua richiesta riguarda il codice PHP o Javascript?
 
Presumo sia javascript perchè nel file php è soltanto una query di aggiornamento di quel campo.
Praticamente vorrei che quando sposto il nome verso destra il campo si aggiorni a "no" ( cosa che già fa), mentre se lo sposto a sinistra il campo si deve aggiornare a "si"
 

Discussioni simili