Matching Items in Mysql Result

Matching Items in Mysql Result

am 07.12.2007 15:53:26 von mtuller

I am pulling a list of names from a mysql table and then display the
results with this:

while ($names_row = $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?

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