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