On Wed, May 30, 2007 3:30 pm, Afan Pasalic wrote: > hi, > the code I'm working on has to compare entered info from registration > form with data in members table and list to administrator (my client) > all "matching" people. admin then has to decide is person who > registered > already in database and assign his/her member_id or the registered > person is new one and assign new member_id. > > I was thinking to assign points (percentage) to matching fields (last > name, first name, email, phone, city, zip, phone) and then list people > with more than 50%. e.g., if first and last name match - 75%, if only > email match - 85%, if first name, last name and email match - 100%, if > last name and phone match - 50%... etc. > > does anybody have any experience with such a problem? or something > similar? I've played this game several times. You generally have to have a human override, because it will never be perfect, no mater how much you tweak it -- I mean, let the admin also just "search" for whatever they want to match up the new registration with the old person. You may have only the first name matching on somebody who got married and moved that won't score well... But you'll have 10 John Smith's in there. You can do it fairly easily building the query dynamically: <?php //find possible duplicates/existing members: $query = "select member_id, name, address, phone, etc "; //all members get 0 points to start: $query .= " 0 "; //add 5 points for last name matching: $query .= " + 5 * (last_name = '$last_name') "; //add 1 point for first name matching: $query .= " + (first_name = '$first_name') "; //and so on $query .= " as score "; $query .= " from member "; //maybe this has to be: HAVING score > 0 $query .= " where score > 0 "; ?> You can play all kinds of games with the numbers and weighting various bits of data -- but complicating it too much beyond the obvious natural choice rarely improves the success rate very much... A simple checkbox on the form: Are you already a member: ____ will help provide an invaluable cross-check as to whether there SHOULD be a member record.... -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php