rubhadubh wrote:
> Hi, apologies if I'm missing something obvious...
>
> I am dynamically generating lists in php each of which needs to be
> sortable and saves the new order back to MySQL via an Ajax call.
>
> All the parts are in place, apart from I cannot work out how to avoid
> using a hard-coded element id in the PHP code to loop through the
> array - it needs to be dynamically passed in.
>
> So... code builds a series of <ul> with unique id and then:
>
> <script type="text/javascript">
> var list = frmEditShopList.getElementsByTagName('ul');
> for(i=0;i<list.length;i++){
> Sortable.create(list[i].id,
> {dropOnEmpty:true,constraint:false,onUpdate:updateOrder});
> }
> </script>
>
> handles the variable number of Sortable.create calls. I then make the
> Ajax call to a PHP page:
>
> function updateOrder(list){
> var url = '/common/script/update-order.php';
> var params = Sortable.serialize(list.id);
> var ajax = new Ajax.Request(url,{method:'post',parameters:params});
> }
Just pass the id of your list as one of the params:
function updateOrder(list){
var url = '/common/script/update-order.php';
var params = Sortable.serialize(list.id);
params = params + '&list_id=' + list.id;
var ajax = new Ajax.Request(url,{method:'post',parameters:params});
}
> and this is the bit I'm stuck with. I have done this before with a
> single list:
>
> $order = 1;
> foreach ($_POST['list'] as $itemid) {
> $sql = "UPDATE shop_items SET item_order = $order WHERE pkShopItemID
> = $itemid";
> $result = do_query($sql);
> $order++;
> }
And then grab the list like so
foreach ($_POST[$POST['list_id']] as $itemid) {
...
}
Btw, I hope you're real PHP code doesn't look like that wrt to the SQL
generation. That's a classic SQL injection attack waiting to happen.
--
Michael Peters
Developer
Plus Three, LP
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---