I have a page that lists a set of products to sort by drag & drop. Everything here works fine.
I have an AJAX post to a sort-on-the-fly PHP file that saves the sort order in a Mysql table whenever the sort order is altered. This almost works fine.
The code looks like this:
The product sort file:
<script>
$(document).ready(function () {
$('ul').sortable({
scroll:true,
helper: "clone",
axis: 'y',
stop: function (event, ui) {
var data = $(this).sortable('serialize');
$('#span').text(data);
$.ajax({
data: data,
type: 'POST',
url: '/admin/pages/sortonthefly.php'
});
}
});
});
</script>
<?
while($hent_produkter_over = mysql_fetch_array($hent_produkter)){
$show = mysql_query("SELECT * FROM tblProdukt WHERE fldProduktNrID =
'$hent_produkter_over[prodref]' AND land = '$country' AND aktiv = 1");
$hent_produkter_data = mysql_fetch_array($show);
if($hent_produkter_data[fldID] != ""){ ?>
<? $itemcontainer = $hent_produkter_data[fldProduktNrID]."mzm".$_GET[id]."mzm".$_GET[subid]."mzm".$_GET[country];?>
<li id="item-mzm<?=$itemcontainer?>" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/<?=$hent_produkter_data[fldProduktImg]?>" class="img-responsive">
</div>
<div class="col-md-10">
<?=$hent_produkter_data[fldProduktNavn]?><br/>
Varenummer: <?=$hent_produkter_data[fldProduktNrID]?>
</div>
</div>
</li>
<?
}
}
?>
The sort-on-the-fly file looks like this:
foreach ($_POST['item'] as $value) {
$explode = explode("mzm", $value);
mysql_query("UPDATE b_kat_prod SET sortering = $i WHERE prodref = '$explode[1]' AND katref = '$explode[2]' AND country = '$explode[4]' ");
}
The updater works but when the $explode[1] contains a dash (-) the updater fails. I simply can't seem to get it to update when the $explode[1] has a - in it.
The data parsed in the product sort file could look like this:
<li id="item-mzm6820mzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/6820.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Alu værksteds donkraft 2,5 T.<br/>
Varenummer: 6820 </div>
</div>
</li>
<li id="item-mzm6815mzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/6815.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Alu værksteds donkraft 1,25 T.<br/>
Varenummer: 6815 </div>
</div>
</li>
<li id="item-mzmR6815-21mzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/1463467375.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Kardanled for 1,25 ton donkraft. <br/>
Varenummer: R6815-21 </div>
</div>
</li>
<li id="item-mzmR6820-UJmzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/1463467386.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Kardanled for 2,5 ton donkraft. <br/>
Varenummer: R6820-UJ </div>
</div>
</li>
<li id="item-mzmR6815-pakmzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/1463466442.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Olie pakning kit sæt for 1,25 ton donkraft.<br/>
Varenummer: R6815-pak </div>
</div>
</li>
<li id="item-mzmR6820-pakmzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/1463466450.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Olie pakning kit sæt for 2,5 ton donkraft.<br/>
Varenummer: R6820-pak </div>
</div>
</li>
<li id="item-mzmR6815-1mzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/1463467321.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Gummiplade for 1,25 ton donkraft.<br/>
Varenummer: R6815-1 </div>
</div>
</li>
<li id="item-mzmR6820-1mzm2mzmNaNmzmdk" class="list-group-item hand">
<div class="row">
<div class="col-md-2">
<img src="/images/1463467331.jpg" class="img-responsive">
</div>
<div class="col-md-10">
Gummiplade for 2,5 ton donkraft.<br/>
Varenummer: R6820-1 </div>
</div>
</li>
I hope someone can help me out here - I do believe it has to do with the containing a dash already, but removing it does not solve the problem.
Also I am aware of the deprecated mysql statements. I am in the process of converting to mysqli.