2010-03-24 11 views
6

Esperando que utilizando algo así como esta demostración sea posible arrastrar elementos dentro y entre dos columnas, y actualizar su orden ya sea en vivo o con un botón "guardar" en MySQL. El punto es que puede hacer cambios y regresar a la página más tarde para ver o actualizar su orden.jQuery Connected Lists ordenables, Guardar pedido en MySQL

http://pilotmade.com/examples/draggable/

lo hace por una sola columna está muy bien, pero cuando trato de pasar el fin de las dos columnas, el problema parece estar pasando varias matrices serializados con jQuery a una secuencia de actualización de PHP/MySQL.

Cualquier idea sería muy apreciada.

Si nos fijamos a continuación, quiero pasar digamos ...

sortable1
entry_1 => 0
entry_5 => 1

sortable2
entry_3 => 0
entry_2 => 1 =
entry_4 > 2

EDIT: Esto terminó haciendo el truco

HTML

<ol id="sortable1"><li id="entry_####">blah</li></ol> 

jQuery

<script type="text/javascript"> 
$(function() 
{ 
    $("#sortable1, #sortable2").sortable(
    { 
     connectWith: '.connectedSortable', 
     update : function() 
     { 
      $.ajax(
      { 
       type: "POST", 
       url: "phpscript", 
       data: 
       { 
        sort1:$("#sortable1").sortable('serialize'), 
        sort2:$("#sortable2").sortable('serialize') 
       }, 
       success: function(html) 
       { 
        $('.success').fadeIn(500); 
        $('.success').fadeOut(500); 
       } 
      }); 
     } 
    }).disableSelection(); 
}); 

Ésta es la consulta PHP

parse_str($_REQUEST['sort1'], $sort1); 
foreach($sort1['entry'] as $key=>$value) 
{ 
do stuff 
} 
+0

podemos ver su código para que podamos ver en qué se equivocó? – mcgrailm

+0

He editado para mostrar el código jQuery & html. Supongo que mi pregunta es realmente acerca de cómo pasar los datos serializados de esto al script de inserción/actualización de php. – noahkuhn

+0

¿Dónde está exactamente teniendo un problema? ¿Los datos serializados no están formateados correctamente o simplemente no está seguro de cómo obtener los datos publicados en su base de datos? – mcgrailm

Respuesta

7

lo que haría que se divide

data : 
    { 
     sort1:$('#sortable1').sortable('serialize'), 
     sort2:$('#sortable2').sortable('serialize') 
    } 

entonces cuando enviar Puede ge t la solicitud y los puso como sea necesario, espero que tenga sentido

así que lo que hago es esta

parse_str($_REQUEST['sort1'],$sort1); 

foreach($sort1 as $key=>$value){ 
    //do sutff; 
} 
+0

esto tiene sentido, re: su pregunta anterior sobre mi problema, supongo que ahora sé que puedo dividir los datos serializados en dos segmentos, ¿ahora se pasan como $ _POST ['sort1'] y $ _POST ['sort2' ]? "Pienso" que si eso funciona, debería estar todo listo. Gracias por la rápida respuesta. – noahkuhn

+0

yes id does, encantados de ayudar 8 ^) – mcgrailm

+0

Una última pregunta ... es el bucle correcto para obtener los valores de matrices para insertar en el db: foreach ($ _ POST ['sort1'] como $ clave => $ valor) {hacer esto} Pensé que entendía cómo debería funcionar esto ... – noahkuhn

Cuestiones relacionadas