Salve a tutti. Sono riuscito ad adattare questo codice alle mie esigenze.
Codice 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 <?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.
Codice 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?