Hi Guys,

I've finally been able to figure this out.  Turns out, I had to make
another, different SQL query to the DB instead of re-using the prior SQL
query statement.

The *new* code looks like this:
File: login.php
# if $employee_1, query db workgroups table to check if $emp_login_id
belongs to any groups
$sql_2 = "SELECT * FROM workgroups WHERE emp_id='$emp_login_id'";
$result_2 = @mysql_query($sql_2) or die (mysql_error());
$employee_2 = mysql_fetch_array($result_2);
# if match, set workgroups login variables in array, then register
workgroups login variables in session
if ($employee_2){
        $emp_login_wkgrp_id = array();
        $emp_login_grp_id = array();
        $emp_login_role_id = array();
        $i=0;
        $result_3 = @mysql_query($sql_2) or die (mysql_error());
        while($employee_3 = mysql_fetch_array($result_3)){
                $emp_login_wkgrp_id[$i] = $employee_3["wkgrp_id"];
                $emp_login_grp_id[$i] = $employee_3["grp_id"];
                $emp_login_role_id[$i] = $employee_3["role_id"];
                $i++;
        }
        session_register('emp_login_wkgrp_id');
        session_register('emp_login_grp_id');
        session_register('emp_login_role_id');
}


Now when I "print_r(array_values($emp_login_grp_id));" I get the following
values: Array ( [0] => 111 [1] => 222 [2] => 333 ).

Many thanks to everyone (Mark) for all of your help.

O      From Now 'Till Then,
\->    Reginald Alex Mullin
/\      212-894-1690

> -----Original Message-----
> From: Mullin, Reginald 
> Sent: Monday, March 18, 2002 2:45 PM
> To:   '[EMAIL PROTECTED]'
> Subject:      FW: [PHP] Creating arrays using results from MySQL query
> 
> I've just added another record to the table.  Now they're a total of 3
> records matching the "WHERE emp_id='$emp_login_id" criteria.  When I
> "print_r(array_values($emp_login_grp_id));" I get the following values:
> Array ( [0] => 222 [1] => 333 ).  For some reason, it seems to be skipping
> the first record.
> 
> O      From Now 'Till Then,
> \->    Reginald Alex Mullin
> /\      212-894-1690
> 
> -----Original Message-----
> From: Mullin, Reginald 
> Sent: Monday, March 18, 2002 2:29 PM
> To:   'Mark Heintz PHP Mailing Lists'; [EMAIL PROTECTED]
> Subject:      RE: [PHP] Creating arrays using results from MySQL query
> 
> Mark,
> 
> I'm still experiencing the same problem.  Only one record is being added
> to the arrays.  There are currently two records in the DB workgroups table
> matching the "WHERE emp_id='$emp_login_id" criteria. 
> 
> Here's the 2 records in the DB workgroups table:
> FIELDS                        Value#1 Value#2
> wkgrp_id              1               4
> grp_id                        111             222
> emp_id                        39              39
> wkgrp_create_date     2002-03-16 23:45:43             0000-00-00 00:00:00
> wkgrp_change_date     2002-03-16 23:45:43             0000-00-00 00:00:00
> wkgrp_change_by       webmaster       webmaster
> wkgrp_create_by       webmaster       webmaster
> role_id                       1               1
> 
> I'm only getting back Value#2.
> 
> Here's the modified PHP code:
> File: login.php
> if ($employee_2){
>       $emp_login_wkgrp_id = array();
>       $emp_login_grp_id = array();
>       $emp_login_role_id = array();
>       $i = 0;
>       while($employee_2 = mysql_fetch_array($result_2)){
>               $emp_login_wkgrp_id[$i] = $employee_2["wkgrp_id"];
>               $emp_login_grp_id[$i] = $employee_2["grp_id"];
>               $emp_login_role_id[$i] = $employee_2["role_id"];
>               $i++;
>       }
>       session_register('emp_login_wkgrp_id');
>       session_register('emp_login_grp_id');
>       session_register('emp_login_role_id');
> }
> 
> O      From Now 'Till Then,
> \->    Reginald Alex Mullin
> /\      212-894-1690
> 
>       -----Original Message-----
>       From:   Mark Heintz PHP Mailing Lists
> [SMTP:[EMAIL PROTECTED]]
>       Sent:   Monday, March 18, 2002 1:26 PM
>       To:     Mullin, Reginald
>       Cc:     [EMAIL PROTECTED]
>       Subject:        Re: [PHP] Creating arrays using results from MySQL
> query
> 
> 
>       You have to call mysql_fetch_array for each record in your result
> set...
> 
>       $emp_login_wkgrp_id = array ();
>       $emp_login_grp_id = array ();
>       $emp_login_role_id = array ();
>       $i = 0;
>       while($employee_2 = mysql_fetch_array($result_2)){
>         $emp_login_wkgrp_id[$i] = $employee_2["wkgrp_id"];
>         $emp_login_grp_id[$i] = $employee_2["grp_id"];
>         $emp_login_role_id[$i] = $employee_2["role_id"];
>         $i++;
>       }
> 
>       mysql_fetch_array will return false when you run out of results,
> breaking
>       the while loop.
> 
>       Check the manual for more info:
>       http://www.php.net/manual/en/function.mysql-fetch-array.php
> 
> 
>       mh.
> 
> 
>       On Mon, 18 Mar 2002, Mullin, Reginald wrote:
> 
>       > Hi Guys,
>       >
>       > I've been experiencing some problems when trying to build 3 arrays
> with the
>       > ID values of all of the groups a user belongs to.  (I then want to
> register
>       > these arrays into the current session).  The arrays only appear to
> be
>       > getting the first value (group ID) instead of all of the values
> the user
>       > belongs to.  What am I doing wrong here?
>       >
>       > My code looks like this:
>       >
>       > File: login.php
>       > # if $employee_1, query db workgroups table to check if
> $emp_login_id
>       > belongs to any groups
>       > $sql_2 = "SELECT * FROM workgroups WHERE emp_id='$emp_login_id'";
>       > $result_2 = @mysql_query($sql_2) or die (mysql_error());
>       > $rows = mysql_num_rows($result_2);
>       > $employee_2 = mysql_fetch_array($result_2);
>       > # if match, set workgroups login variables in array, then register
>       > workgroups login variables in session
>       > if ($employee_2){
>       >       $emp_login_wkgrp_id = array ();
>       >       $emp_login_grp_id = array ();
>       >       $emp_login_role_id = array ();
>       >       for ($i=0; $i<$rows; $i++){
>       >               $emp_login_wkgrp_id[$i] = $employee_2["wkgrp_id"];
>       >               $emp_login_grp_id[$i] = $employee_2["grp_id"];
>       >               $emp_login_role_id[$i] = $employee_2["role_id"];
>       >       }
>       >       session_register('emp_login_wkgrp_id');
>       >       session_register('emp_login_grp_id');
>       >       session_register('emp_login_role_id');
>       > }
>       >
>       > O      From Now 'Till Then,
>       > \->    Reginald Alex Mullin
>       > /\      212-894-1690
>       >
>       >
>       >
>       >
> **********************************************************************
>       > This email and any files transmitted with it are confidential and
>       > intended solely for the use of the individual or entity to whom
> they
>       > are addressed. If you have received this email in error please
> notify
>       > the postmaster at [EMAIL PROTECTED]
>       >
>       >
>       > www.sothebys.com
>       >
> **********************************************************************

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

Reply via email to