Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54

    Drag and drop. Aggiornamento campo.

    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";
      
    $resultmysqli_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($completeResultMYSQLI_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.
    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?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, probabilemente avrai un evento sull'azione del reset del drag&drop come appunto droppable.drop che usi ora.
    Oppure semplicemente un evento di reset generico e a quel punto resettare tutti i campi per i/gli ID che hai attualmente fra gli items per drag&drop.
    Come riporti in posizione iniziale? Hai un button ad esempio per resettare tutto o trascini nuovamente un item nel contenitore originale?
    Nel primo caso potresti fare un updare per tutti gli ID presenti nella lista draggabile, nel secondo avrai l'ID esattamente come lo spostamento che già stai usando.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54
    Grazie per la risposta ... cercherò di attuare ciò che mi hai detto... grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.