$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "dsp_search.cfm",
"bPaginate": true
} );
} );
<cfprocessingdirective suppresswhitespace="yes">
<cfsilent>
<cfset dsn = "mydsn">
<cfset tmp = StructNew()>
<cfset dArray = ArrayNew(1) >
<cfset columnArray = ["levelid", "titre", "categorie", "statut"]>
<cfset columnList = ArrayToList(columnArray)>
<cfset searchField = "titre">
<cfparam name="url.iDisplayStart" default="0">
<cfparam name="url.iDisplayLength" default="10">
<cfparam name="url.sEcho" default="10">
<cfquery name="thm" datasource="#dsn#">
SELECT
#columnList#
FROM
DOCUMENTS
<cfif isdefined('url.sSearch')>
WHERE
#searchField# LIKE <cfqueryparam value="%#url.sSearch#%" cfsqltype="cf_sql_varchar">
</cfif>
LIMIT
<cfqueryparam value="#url.iDisplayStart#" cfsqltype="cf_sql_numeric">,
<cfqueryparam value="#url.iDisplayLength#" cfsqltype="cf_sql_numeric">
</cfquery>
<cfquery name="total" datasource="#dsn#">
SELECT
count(docid) rownbr
FROM
DOCUMENTS
</cfquery>
<!--- Generate JSON from Query --->
<cfloop query="thm">
<cfset dArrayTmp = ArrayNew(1)>
<cfloop array="#columnArray#" index="i">
<cfset ArrayAppend(dArrayTmp,evaluate("thm.#i#"))>
</cfloop>
<cfset ArrayAppend(dArray,dArrayTmp) >
</cfloop>
<cfset tmp.sEcho = javacast('int',url.sEcho)>
<cfset tmp.iTotalRecords = total.rownbr>
<cfset tmp.iTotalDisplayRecords = total.rownbr>
<cfset tmp.aaData = dArray>
<cfset tmpSOut = SerializeJSON(tmp)>
<!--- Since SerializeJSON capitalize the content which is case-sensitive let's reset it the correct way --->
<cfset tmpSOut = Replace (tmpSOut,'SECHO','sEcho','one')>
<cfset tmpSOut = Replace (tmpSOut,'ITOTALRECORDS','iTotalRecords','one')>
<cfset tmpSOut = Replace (tmpSOut,'ITOTALDISPLAYRECORDS','iTotalDisplayRecords','one')>
<cfset tmpSOut = Replace (tmpSOut,'AADATA','aaData','one')>
</cfsilent>
<cfoutput>#tmpSOut#</cfoutput>
</cfprocessingdirective>
It looks like you're new here. If you want to get involved, click one of these buttons!
Get useful and friendly help straight from the source.