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