Solved

Comparing 2 arrays

Posted on 2001-06-21
5
141 Views
Last Modified: 2013-12-24
Okay. I have a table with Groups assigned to a user and a table with Groups assigned to an event.

I am storing the info from each table in a one dimensional array. (This I have working).

One array has Group ID's assigned to a user, the other has all Group ID's assigned to an event.  

I want to compare the 2 arrays and see if the Group ID's associated with the user are in the Group ID's from the event.

If they are set a flag on the ones that are the same.

The purpose is to either show or hide info from the user on the display page based on whether they are in a certain group or not.

Can anyone help? Thanks in advance.
0
Comment
Question by:Zoo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 4

Expert Comment

by:CF_Spike
ID: 6214317
How exactly are the arrays organised?

what does the array index represent and what does the array data represent?

i.e. Is the groupID the array index number or is it the data for that index in the array?

Spike
0
 

Author Comment

by:Zoo
ID: 6214389
the arrays are filled with data (numbers to be exact), as in:

Array 1 - 1, 23, 56, 89 , 78

Array 2 - 1, 2, 3, 56, 78, 98

The numbers are unique ID's of groups.

I want to compare these and where they are the same print to the screen, if they are not the same do not print.

So in the case above print out the events that correspond to numbers 1, 56, and 78.


Here is my code:

Array 1:

<CFQUERY DATASOURCE="#request.MainDSN#" NAME="qryGetGroups">
    SELECT  group_id
    FROM GroupTracking
    WHERE Event_ID = #attributes.Event_ID#
</CFQUERY>

<CFSET arrGetGroups = ArrayNew(1)>
<CFSET numCount = 1>
<CFOUTPUT QUERY="qryGetGroups">
<CFSET Variables.arrGetGroups[#Variables.numCount#] = #group_id#>
<CFSET Variables.numCount = Variables.numCount + 1>
</CFOUTPUT>


Array 2:

<CFQUERY DATASOURCE="#request.MainDSN#" NAME="qryUserGroups">
SELECT      gm.group_id, gm.user_id, u.user_lastname, g.group_name
FROM GROUPMEMBERSHIP gm, USERS u, GROUPS g
WHERE u.user_id = #session.numUserID#
AND gm.user_id = u.user_id
AND gm.group_id = g.group_id
</CFQUERY>


<CFSET arrGetUsersGroups = ArrayNew(1)>
<CFSET numCount = 1>
<CFOUTPUT QUERY="qryUserGroups">
<CFSET Variables.arrGetUsersGroups[#Variables.numCount#] = #group_id#>
<CFSET Variables.numCount = Variables.numCount + 1>
</CFOUTPUT>
0
 
LVL 4

Expert Comment

by:CF_Spike
ID: 6214446
This should work:

<CFSET listUsersGroups = ArrayToList(variables.arrGetUsersGroups)>
<CFOUTPUT>
<CFLOOP From="1" TO="#ArrayLen(Variables.arrGetGroups)#" Index="i">
<CFSET
<CFIF ListFind(listUsersGroups,Variables.arrGetGroups[i]))>
#Variables.arrGetGroups[i]#
</CFIF>
</CFLOOP>
</CFOUTPUT>

You would probably want to do something other than just print out the value, but hopefully you get the idea.

Spike
0
 
LVL 4

Accepted Solution

by:
CF_Spike earned 100 total points
ID: 6214451
Better remove that unclosed cfset just after the opening cfloop tag before you try to run the code.
0
 

Author Comment

by:Zoo
ID: 6214469
That worked great. Thanks!!
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Citrix Web Interface 5.4 logon section customization 2 100
WAMP server installation, getting error popups, DLLs missing 5 89
ip / url redirect 13 74
Nameserver and MX Record 2 82
Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
One of the typical problems I have experienced is when you have to move a web server from one hosting site to another. You normally prepare all on the new host, transfer the site, change DNS and cross your fingers hoping all will be ok on new server…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question