Re: [PHP-DB] assigning variables after one-to-many query

2004-04-29 Thread Uzi

- Original Message - 
From: Rachel Rodriguez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, April 23, 2004 3:55 AM
Subject: [PHP-DB] assigning variables after one-to-many query


 Hi!

 I have a one-to-many relationship between two tables
 (table1 and table3) with a linking table between
 them (table2):

 table1:  table2
 +---++   +---++
 |id | f_name |   |id | emailID|
 +---++   +---++
 | 1 | bill   |   | 1 |   1|
 | 2 | john   |   | 1 |   4|
 | 3 | diana  |   | 1 |   3|
 | 4 | victor |   | 2 |   2|
 | 5 | renata |   | 4 |   5|
 +---++   +---++

 table3
 ++-+
 |emailID | email   |
 ++-+
 |   1| [EMAIL PROTECTED]|
 |   2| [EMAIL PROTECTED] |
 |   3| [EMAIL PROTECTED]  |
 |   4| [EMAIL PROTECTED] |
 |   5| [EMAIL PROTECTED] |
 ++-+

 I would like to write a query that matches table1.id
 with records
 from table3.emailID via the linking table (table2) and
 then
 assign each match to a variable.

 Here is what I have:

 $query = SELECT t3.email
   FROM   table3 AS t3
   LEFT JOIN table2 AS t2
   ON (t3.emailID = t2.emailID)
   LEFT JOIN table1 AS t1
   ON (t2.id = t1.id)
   WHERE t1.id = 1;

 $result = @myql_query($query, $db_connection);

 $num = mysql_num_rows($result);

 $email1 = ;
 $email2 = ;
 $email3 = ;

 if ($num  0)
 {
 while ($row = mysql_fetch_array($result))
 {
// do something here to assign
// $email1 = $row[email] and
// $email2 = $row[email], etc.
 }
 }

 Of course, the problem I am having is as I am going
 through the while loop, I am assigning $email1,
 $email2, and so on the

 same e-mail address.

 I would like to get: $email1 = [EMAIL PROTECTED],
 $email2 = [EMAIL PROTECTED], and $email3 =
 [EMAIL PROTECTED]


what i would do is add it into an array:

$emails = Array();
while ($row = mysql_fetch_array($result,MYSQL_NUM))
{
$emails[] = $row[0];
}

then u have an array with :

$emails[0] = [EMAIL PROTECTED]
$emails[1] =  [EMAIL PROTECTED]
etc...



 I would prefer to do that rather than what I have seen
 in most examples which is similar to the following:

 // snippet of code

  while ($row = mysql_fetch_array($result))
  {
   echoBill's email is $row[email].;
  }

 // end of snippet

 Any assistance is greatly appreciated.

 Thanks,
 Rachel




 __
 Do you Yahoo!?
 Yahoo! Photos: High-quality 4x6 digital prints for 25¢
 http://photos.yahoo.com/ph/print_splash

 -- 
 PHP Database Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] assigning variables after one-to-many query

2004-04-23 Thread Uzi Klein
- Original Message - 
From: Rachel Rodriguez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, April 23, 2004 3:55 AM
Subject: [PHP-DB] assigning variables after one-to-many query


 Hi!

 I have a one-to-many relationship between two tables
 (table1 and table3) with a linking table between
 them (table2):

 table1:  table2
 +---++   +---++
 |id | f_name |   |id | emailID|
 +---++   +---++
 | 1 | bill   |   | 1 |   1|
 | 2 | john   |   | 1 |   4|
 | 3 | diana  |   | 1 |   3|
 | 4 | victor |   | 2 |   2|
 | 5 | renata |   | 4 |   5|
 +---++   +---++

 table3
 ++-+
 |emailID | email   |
 ++-+
 |   1| [EMAIL PROTECTED]|
 |   2| [EMAIL PROTECTED] |
 |   3| [EMAIL PROTECTED]  |
 |   4| [EMAIL PROTECTED] |
 |   5| [EMAIL PROTECTED] |
 ++-+


maybe think again about your tables structure?
seems like a mess to me.

 I would like to write a query that matches table1.id
 with records
 from table3.emailID via the linking table (table2) and
 then
 assign each match to a variable.

 Here is what I have:

 $query = SELECT t3.email
   FROM   table3 AS t3
   LEFT JOIN table2 AS t2
   ON (t3.emailID = t2.emailID)
   LEFT JOIN table1 AS t1
   ON (t2.id = t1.id)
   WHERE t1.id = 1;

 $result = @myql_query($query, $db_connection);

 $num = mysql_num_rows($result);

 $email1 = ;
 $email2 = ;
 $email3 = ;

 if ($num  0)
 {
 while ($row = mysql_fetch_array($result))
 {
// do something here to assign
// $email1 = $row[email] and
// $email2 = $row[email], etc.
 }
 }

 Of course, the problem I am having is as I am going
 through the while loop, I am assigning $email1,
 $email2, and so on the

 same e-mail address.

 I would like to get: $email1 = [EMAIL PROTECTED],
 $email2 = [EMAIL PROTECTED], and $email3 =
 [EMAIL PROTECTED]


what i would do is add it into an array:

$emails = Array();
while ($row = mysql_fetch_array($result,MYSQL_NUM))
{
$emails[] = $row[0];
}

then u have an array with :

$emails[0] = [EMAIL PROTECTED]
$emails[1] =  [EMAIL PROTECTED]
etc...



 I would prefer to do that rather than what I have seen
 in most examples which is similar to the following:

 // snippet of code

  while ($row = mysql_fetch_array($result))
  {
   echoBill's email is $row[email].;
  }

 // end of snippet

 Any assistance is greatly appreciated.

 Thanks,
 Rachel




 __
 Do you Yahoo!?
 Yahoo! Photos: High-quality 4x6 digital prints for 25¢
 http://photos.yahoo.com/ph/print_splash

 -- 
 PHP Database Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP-DB] assigning variables after one-to-many query

2004-04-23 Thread fgc
Hi,

I would try:

Select email
From table2, table3
Where table3.emailID = table2.emailID
And id = 1

This should give you 

[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]

FG

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] assigning variables after one-to-many query

2004-04-23 Thread Rachel Rodriguez
 what i would do is add it into an array:
 
 $emails = Array();
 while ($row = mysql_fetch_array($result,MYSQL_NUM))
 {
 $emails[] = $row[0];
 }
 
 then u have an array with :
 
 $emails[0] = [EMAIL PROTECTED]
 $emails[1] =  [EMAIL PROTECTED]
 etc...
 
 

Thanks, Uzi!  This is exactly what I was looking for!

Rachel




__
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25¢
http://photos.yahoo.com/ph/print_splash

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DB] assigning variables after one-to-many query

2004-04-22 Thread Rachel Rodriguez
Hi!

I have a one-to-many relationship between two tables
(table1 and table3) with a linking table between
them (table2):

table1:  table2  
+---++   +---++  
|id | f_name |   |id | emailID|  
+---++   +---++  
| 1 | bill   |   | 1 |   1|  
| 2 | john   |   | 1 |   4|  
| 3 | diana  |   | 1 |   3|  
| 4 | victor |   | 2 |   2|  
| 5 | renata |   | 4 |   5|  
+---++   +---++  

table3
++-+
|emailID | email   | 
++-+
|   1| [EMAIL PROTECTED]|
|   2| [EMAIL PROTECTED] |   
|   3| [EMAIL PROTECTED]  |
|   4| [EMAIL PROTECTED] |
|   5| [EMAIL PROTECTED] | 
++-+

I would like to write a query that matches table1.id
with records
from table3.emailID via the linking table (table2) and
then 
assign each match to a variable.

Here is what I have:

$query = SELECT t3.email
  FROM   table3 AS t3
  LEFT JOIN table2 AS t2
  ON (t3.emailID = t2.emailID)
  LEFT JOIN table1 AS t1
  ON (t2.id = t1.id)
  WHERE t1.id = 1;

$result = @myql_query($query, $db_connection);

$num = mysql_num_rows($result);

$email1 = ;
$email2 = ;
$email3 = ;

if ($num  0)
{
while ($row = mysql_fetch_array($result))
{
   // do something here to assign
   // $email1 = $row[email] and 
   // $email2 = $row[email], etc.
}
}

Of course, the problem I am having is as I am going
through the while loop, I am assigning $email1,
$email2, and so on the 

same e-mail address.

I would like to get: $email1 = [EMAIL PROTECTED],
$email2 = [EMAIL PROTECTED], and $email3 =
[EMAIL PROTECTED]

I would prefer to do that rather than what I have seen
in most examples which is similar to the following:

// snippet of code

 while ($row = mysql_fetch_array($result))
 {
  echoBill's email is $row[email].;
 }

// end of snippet

Any assistance is greatly appreciated.

Thanks,
Rachel




__
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25¢
http://photos.yahoo.com/ph/print_splash

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php