The way I handle queries like this is to use an associative array with the ID as the named index key. You then loop through the data consolidating the choices and linking the other data based on id. Since you are using a named index, it doesn't matter how your data is sorted.

//Consolidate your choices into an associative array
foreach($choiceData as $choices) {
        //Get Unique ID for consolodiation
        $personID= $choices['id'];
        //Save value of fields being consolidated
        $choicesList[$personID]['choice'] .= $choices['choice'].', ';
        //Add Names and Company
        $choicesList[$personID]['Name'] = $names['Name'];
        $choicesList[$personID]['company'] = $names['company'];

You should now have an array ($choicesList) containing your consolidated data. Each array element will contain and array with three items: choices, name, company. The 'choices' will have an extra ', ' at the end, but that's easy to get rid of with rtrim().

On Mar 26, 2004, at 10:07 AM, Mignon Hunter wrote:

Can someone please help me or direct me to some scripts that might get me unstuck, as I've not done this kind of query before.

To simplify:

Table 1
id                     1
Name               John Doe
company          IBM

Table 2
id                    1
choice             choice #1
id                    1
choice              choice #2

So I have 2 records in table 2 that I need to tie in with id # 1 in table 1.

What's the smartest way to do the query ? I have 5 different tables I need to query. I guess I can get the data I want by selecting all from the 5 tables then parsing through like:

while ($row = mysql_fetch_assoc($res)) {
foreach {
if =={
echo <tr>

I could probably manage if I do 5 different queries with 5 different results sets, but that is obviously inelegant and would create more overhead

I need to display as:

John Doe IBM Choice #1, Choice #2

Am I even close ? Need some help with the logic...

Thx for any guidance


PHP Database Mailing List (
To unsubscribe, visit:

Brent Baisley
Systems Architect
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology Environments
p: 212.759.6400/800.759.0577

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to