Copy link to clipboard
Copied
I have the a working detail page that displays multiple Address records based on URL Parameter ID's (1825, 1824,
1823, 1822, 1821): (This is working fine)
-----------------------------------------------
http://192.168.1.77/map_sel.cfm?wkRptID=1826&wkRptID_1=1825&wkRptID_2=1824&wkRpt
ID_3=1823&wkRptID_4=1822&wkRptID_5=1821 (this is the URL to display my "selected" records from a previous main page)
- But I cannot get my mapping query (on the same detail page) to properly "Reference" those URL ID values in my WHERE statement?
- How do I fix my WHERE clause below to correctly filter by these URL ID's only?
- My current mapping query is listed below, but it only outputs the First record (or only one ID)?
-----------------------------------------------------------
<cfparam name="URL.wkRptID" default="1">
<cfquery name="rsMapCust" datasource="salesPipeline">
SELECT wkRptID, wkRptCustName, wkRptBusAdd, wkRptCustCity, wkRptBusSt,
wkRptBusZip
FROM tblWeeklyRpt
WHERE wkRptID IN (<cfqueryparam value="#URL.wkRptID#" cfsqltype="cf_sql_numeric"> )
</cfquery>
-----------------------------------------------------------
I have a Google map below the detail records on my page, and I'm trying to map just those records only.
- Here is a picture of my detail page: http://cerberus.clearwave.com/jerry/MapSelected.jpg
Copy link to clipboard
Copied
You need to specify that the value is a 'list' in the CFQUERYPARAM:
WHERE wkRptID IN ( )
Copy link to clipboard
Copied
BTW, I'm using CFMX7..
I tried the following, but it still only gives me the first record?
<cfparam name="URL.wkRptID" default="1">
<cfquery name="rsMapCust" datasource="salesPipeline">
SELECT wkRptID, wkRptCustName, wkRptBusAdd, wkRptCustCity, wkRptBusSt, wkRptBusZip
FROM tblWeeklyRpt
WHERE
wkRptID IN (
<cfqueryparam
value="#URL.wkRptID#"
cfsqltype="cf_sql_varchar"
list="true"
/>
)
</cfquery>
Copy link to clipboard
Copied
Is there any specific reason that you are sending the selected values i
n the URL scope? Can not we do form a list from the
selected values and in the action page where we have the query we can write like
<cfqueryparam value="#FORM.wkRptIDList#" cfsqltype="cf_sql_numeric" list="true">
Please let me know exactly what you need to do, so that I may give you some better suggestion.
Thanks
Copy link to clipboard
Copied
I can't change the "Sending Page" because it uses custom "Filtering & Sorting" to drill down to the addresses..
Once the User has "Checked" the records to be mapped, they click the Map button, and it takes them to this Detail page (with the ID's in the URL)
Now that you mention it, the Detail form does have all of the Form fields/wkRptID's (for each of the addresses) on the page.. but how would I iterate thru the form data of each record, and grab the wkRptID's and add them to the WHERE statement..?
Either way, once I have the Query correct, it is then fed to my Google Map to plot the addresses..
Copy link to clipboard
Copied
cfqueryparam has a list attribute.
Copy link to clipboard
Copied
Dan, I'm using the List attribute as in:
WHERE
wkRptID IN (
<cfqueryparam
value="#URL.wkRptID#"
cfsqltype="cf_sql_varchar"
list="true"
/>
)
but still only getting the first ID..?
How would i go about parsing the ID's in the URL first, then adding them to the WHERE..? (Note: the qty of ID's will vary)
Copy link to clipboard
Copied
I only saw the first post and you did not have a list attribute. Does the datatype in your database match what you specify in your queryparam?
Copy link to clipboard
Copied
It is an Integer in the database, I have tried numeric, varchar, integer, etc, but no change..
Copy link to clipboard
Copied
Use integer.
When you look at your debugging info, what does it show for the value of the query param?