Witam, zwracam się z prośbą o podpowiedź. Mam przykładową listę html (zrobiona docelowo w php, dwie tabele mysql jedna do wielu):
  1. <ul>
  2. <li id="'.$id.'">RAZ
  3. <ul class="xx">
  4. <li id="'.$pid.'">a</li>
  5. <li id="'.$pid.'">b</li>
  6. </ul>
  7. </li>
  8. <li id="'.$id.'">DWA
  9. <ul class="xx">
  10. <li id="'.$pid.'">c</li>
  11. <li id="'.$pid.'">d</li>
  12. </ul>
  13. </li>
  14. </ul>

Lista sortuje się między drugimi <li> oraz można przenieść z drugiego <li> do innego pierwszego <li>. Pierwsze <li> RAZ i DWA pochodzą z tabeli mysql A o id=$id natomiast ich dzieci drugie li pochodzą z tabeli mysql B o id = pid, tabela B zawiera foreign key $id (łączy A id z B id).

Nie wiem jak zaktualizować bazę mysql, żeby zrobił się w bazie zapis kiedy np drugie <li>c</li> przeniesie się z <li>DWA </li> do <li> RAZ</li>
Potrafię tylko zaktualizować sortowanie między sobą uwzględniając tylko drugie <li>
  1. $(document).ready( function(){
  2. $(".xx").sortable({
  3. connectWith: '.xx',
  4. update: function(event, ui){
  5. var id_array = new Array();
  6. $('.xx li').each(function() {
  7. array.push($(this).attr("id"));
  8. });
  9.  
  10. $.ajax({
  11. url: "raz.php",
  12. method: "POST",
  13. data: { id_array:id_array},
  14. success: function(data){ }
  15. });
  16. }
  17. });
  18. });

oaz update do bazy, tabela przyklad sklada się z pid, id, tekst, listp.
  1. for($i=0;$i < count($_POST["id_array"]); $i++) {
  2. $query = $dbh->query("UPDATE przyklad SET listp = '".$i."' WHERE pid = '".$_POST["id_array"][$i]."'") or die('Error, insert query failed');
  3. }

Moje wszelakie próby (nawet nie będę ich przytaczać bo jest ich za dużo a żadna nie zadziałała) wyczerpały moje możliwości twórcze, proszę o wskazówki, one zawsze działały.