[jQuery] (Bump) Need help updating sorted record into db...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 08.00.0681.000">
<TITLE>(Bump) Need help updating sorted record into db...</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">I was hoping</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Consolas">someone</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Consolas"> might have some ideas about how to</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">go about doing this</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Consolas">…</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Consolas"> so I bumped the message.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">Rick</FONT></SPAN></P>
<BR>
<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">Hi, all.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">I'm trying to use the plug-in TableDnD to sort</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">records output via ColdFusion 8.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">I've got the drag-n-drop working and can get the</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">sort_order variable as a list from a hidden field</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">when the form is submitted.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">The sort_order variable is created using this code</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">from aliaspooryorik at</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN><A HREF="http://aliaspooryorik.wordpress.com/2008/02/27/sorting-table-rows-with-jquery-and-coldfusion/"><SPAN LANG="en-us"><U><FONT COLOR="#0000FF" FACE="Consolas">http://aliaspooryorik.wordpress.com/2008/02/27/sorting-table-rows-with-jquery-and-coldfusion/</FONT></U></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"><FONT FACE="Consolas">:</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">$(function(){</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> $("#sortable-tbl").tableDnD();</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> $('#frm-sort').submit(function(){</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> var sRowOrder = "";</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> $("#sortable-tbl tr").each(function(i,o){</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> if (sRowOrder.length) {</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> sRowOrder += "," + o.id;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> } else {</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> sRowOrder = o.id;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> }</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> });</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> $('#sort_order').val(sRowOrder);</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> });</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">});</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">The question is how do I match the comma-delimited sRowOrder list values</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">with each record id in the db for an update query?</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">Here's my update query. You can see in the where clause that I need to attach</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">the section_id of each record to each row somehow. The id of each row is already</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">taken by the id of each tr.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> <cfloop list="#form.section_order#" index="i"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"><cfquery name="update_section_order" datasource="#dsn#"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas">update community</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"> set section_order = <cfqueryparam cfsqltype="cf_sql_tinyint"</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">value="#listgetat(form.section_order, i)#"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"> where section_id = ???</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"> </FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"></cfquery></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"></cfloop></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">And here's the HTML for the table:</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"><table id="sortable-tbl"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"><cfoutput query="get_sections"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> <tr id="#get_sections.section_order#"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> <td>#get_sections.section_title#</td></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> <td>Update</td></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"><td>Delete</td></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas"> </tr></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"></cfoutput></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Consolas"></table></FONT></SPAN></P>
<BR>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">I'm certain the answer is fairly simple, but it probably involves tweaking</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">not only the HTML/CFML, but also the JS, and that's where I'm a little lost.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">Suggestions, anyone?</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">Thanks,</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Consolas">Rick</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>
</BODY>
</HTML>