For Programmers: Free Programming Magazines  


Home > Archive > PHP DB > January 2007 > Re: [PHP-DB] 2 queries --> 1 array









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: [PHP-DB] 2 queries --> 1 array
tg-php@gryffyndevelopment.com

2007-01-12, 6:58 pm

Ok, in your original message you said something about using the name as dominant key (or whatever you want to call it). All the SQL does is gather all the data together in an associated fashion. You can use the array you build to organize the data. I'
m still not 100% sure what you're doing, so I can't say this is the best way, but let's look at the exampe I gave and change it to hopefully suit your last description:

$name = $row['NAME'];
$business = $row['BUSINESS'];
$address = $row['ADDRESS'];
$city = $row['CITY'];
$phone = $row['PHONE'];
$contactname = $row['CONTACT_NAME'];
$contactvalue = $row['CONTACT_VALUE'];

// $bigarray[$name][$contactname] = $contactvalue;

$bigarray[$contactname][$name] = $contactvalue;

foreach ($bigarray['Supplier'] as $name => $value) {
echo "Supplier: $name has CONTACT_VALUE = $value<br>\n";
}

There may be an elegant way to do what you want in SQL too, I'm just not fully groking the situation I think.

-TG

> $name = $row['NAME'];
> $business = $row['BUSINESS'];
> $address = $row['ADDRESS'];
> $city = $row['CITY'];
> $phone = $row['PHONE'];
> $contactname = $row['CONTACT_NAME'];
> $contactvalue = $row['CONTACT_VALUE'];
>
> $bigarray[$name][$contactname] = $contactvalue;



= = = Original message = = =

yeah..that is what i'm trying to do, but

I need to query WHERE contact_name='Supplier' and bring back the value for
contact_value
query WHERE contact_name='RANO' and bring back the value for
contact_value
query WHERE contact_name='Dynamic' and bring back the value
for contact_value
query WHERE contact_name='PrevSys' and bring back the value
for contact_value
Which are all different rows in the second table....
with the same ID field
thats how they are linked to the first table

thanks...

Matt

----- Original Message -----
From: <tg-php@gryffyndevelopment.com>
To: <php-db@lists.php.net>
Cc: <mferry@retailautomation.biz>
Sent: Friday, January 12, 2007 4:26 PM
Subject: Re: [PHP-DB] 2 queries --> 1 array


> Not sure if this is exactly what you're looking for, Matt, but I think it

is.
>
> <?php
> $query = "SELECT t1.NAME, t1.BUSINESS, t1.ADDRESS, t1.CITY, t1.PHONE,

t2.CONTACT_NAME, t2.CONTACT_VALUE FROM Table1 as t1, Table2 as t2 WHERE
t1.ID = t2.CONTACT_ID"
> $result = mysql_query($query);
>
> while ($row = mysql_fetch_assoc($result))
> // to make it easier to read, I'll assign the values to variables for

this demonstration
> $name = $row['NAME'];
> $business = $row['BUSINESS'];
> $address = $row['ADDRESS'];
> $city = $row['CITY'];
> $phone = $row['PHONE'];
> $contactname = $row['CONTACT_NAME'];
> $contactvalue = $row['CONTACT_VALUE'];
>
> $bigarray[$name][$contactname] = $contactvalue;
>
>
>
> $JoeBrownPrevsys = $bigarray['Joe Brown']['Prevsys'];
> ?>
>
>
> If that's not right, please re-describe the problem and let's see what we

can figure out.
>
> If you have questions about what/how/why/etc... feel free to ask.
>
> -TG
>
> = = = Original message = = =
>
> Hello,
>
>
> I need to query two different tables and create one "BIG" array.
>
> I can query both tables, but can't find a way to combine the results in

one array.
> The problem comes in with the second table. It has a weird layout.
>
> The second table only has four fields. They are: contact_id,

contact_owner, contact_name, and contact_value
>
> a.. The 'contact_id' needs to be linked to 'id' field from the first

table.
> b.. The contact_name is a field I need to use to reference what i'm

looking for.
> example... contact_name HAS values of RANO, PrevSys,

Supplier, Dynamic
> each of them has the same contact_id different

contact_names with different contact_values
>
>
> To query the second table I do something like this:
>
> SELECT contact_value FROM egw_addressbook_extra WHERE

contact_name='Supplier' and contact_id=' XXX'
>
> The xxx is the ID from the first table.
>
> -----------------------------------------
> Table 1:
>
> ID NAME BUSINESS

ADDRESS CITY PHONE
> 1 John Smith Smith's Phone Co. 100

Main St Someplace 555-5555
> 2 Joe Brown Brown's Shoe Store 105

Grant St. This City 555-0001
>
>
>
>
> Table 2:
>
> CONTACT_ID CONTACT_NAME

CONTACT_VALUE CONTACT_OWNER
> 1 PrevSys

NONE 4
> 1 RANO

100102 4
> 1 Supplier

TrueValue 4
> 1 Dynamic

192.168.0.0 4
> 2 PrevSys

OLD POS SYS 4
> 2 RANO

100105 4
> 2 Supplier

Orgill 4
> 2 Dynamic

192.168.100.0 4
>
>
> I want to query both tables and create a array. The extra fields from

table two need to have their own field in the array.
> I need to call those extra fields in the array by the contact_name

field...
>
> example.... $myrow[supplier] $myrow[PrepSys] $myrow[name]
>
>
> I have tried alot of stuff to get this done, but i think i was very off

task.
>
> Some help/guide is needed.... I'm new!!!!
>
> Thanks...
>
> Matt



________________________________________
___________________
Sent by ePrompter, the premier email notification software.
Free download at http://www.ePrompter.com.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com