Re: Matching Items in Mysql Result
am 07.12.2007 16:09:08 von luiheidsgoeroe
On Fri, 07 Dec 2007 15:53:26 +0100, mtuller wrote:
> I am pulling a list of names from a mysql table and then display the
> results with this:
>
> while ($names_row =3D $names_result->fetch_assoc())
> {
> echo '
>
> '.$names_count.' |
> '.$names_last_name.' |
> '.$names_first_name.' |
> '.$names_middle_initial.' |
>
> }
>
> Simple. The database query groups the names so that they are only
> displayed once. The purpose of this is to display names entered for a
> nomination process. The problem is that sometimes names are entered
> differently. One person may enter Mike, and another enters Michael but=
> the last name is the same. I know then that this is actually the same
> person. The results show up on different lines though, so I need to
> flag these results in some way. I want to be able to show on the page
> in bold where last name matches.
>
> Can someone give me some direction on how I could go about this? Do I
> need to use an array?
You should have a table with 'unique' persons, and and possibly a separa=
te =
table nominations/votes which is related to that by primary key. On a =
vote/nomination, let the users choose from a list from 'people allready =
=
available', or enter a new one. This will hopefully keep duplicates to a=
=
minimum, and even if someone is entered under a slightly other name, it'=
s =
just a question of updating the related 'persons'-id of the votes in som=
e =
admin process (either with an interface or just a raw database query), a=
nd =
removing the 'duplicate' row. Offcourse, you'll trim/standardize =
capitalisation etc. to keep it duplicates to a minimum, maybe could also=
=
use the LIKE and/or SOUNDEX functionality of the database to suggest a =
person allready in the table if someone enters a slightly different one =
=
(still giving the users the possibility to confirm this is really anothe=
r =
person,"Are you really sure you don't mean on of these?").
There is no way this process can be automated without losing the ability=
=
to nominate 'new' persons: Who is to say Mike Johnson and Michael Johnso=
n =
aren't different persons? They might be very well be, they're just not i=
n =
this case.
-- =
Rik Wasmus