I will take theirs and modify it just a little more to create the print_r() output that the OP suggested. function getPopulationById($id) { $dataSet = array(); if ( ( $result = mysql_query('SELECT country, name, population FROM users WHERE id = ' . $id) !== false ) { while ( $row = mysql_fetch_assoc($result) ) { $dataSet[$id] = $row; } } return $dataSet; } This will return: Array { [id] array { [country] = USA [name] = test [population] = 123 } } OPs way would result in a layout like the following... Array { [id] array { [country] = array [0] = USA } [name] = array [0] = test } [population] = array [0] = 123 } } } I don't see a reason why the OP was suggesting that he do it this way... I can't see the reason for the extra nested array for the final country, name, and population values. Should be the value, nothing more. Chetan Rane wrote: > Hi this is similar to what Dollah Ihsan had suggested , however I ave > tweeked the getPopulationById function a bit. > /** > * assume your table structure just like this. > * table: users > * | id | country | name | population | > * ------------------------------------------------------------------ > * | 1 | Texas | Fort Worth | 400000 | > * > */ > > function getPopulationById($id) { > // echo 'SELECT country, name, population FROM users WHERE id = ' . > $id;die; > $result = mysql_query('SELECT country, name, population FROM users > WHERE id = ' . $id); > While($row = mysql_fetch_assoc($result)) > $pop[$id][$row['country']][$row['name']] = > $row['population']; > return $pop; > } > > > Chetan Dattaram Rane | Software Engineer | Persistent Systems > chetan_rane@xxxxxxxxxxxxxxxx | Cell: +91 94033 66714 | Tel: +91 (0832) 30 > 79014 > Innovation in software product design, development and delivery- > www.persistentsys.com > > > > > -----Original Message----- > From: Dollah Ihsan [mailto:dollah.ihsan@xxxxxxxxx] > Sent: Friday, March 06, 2009 3:04 PM > To: Anton Heuschen > Cc: php-general@xxxxxxxxxxxxx > Subject: Re: Assign 2 values from Mysql to an array > > I'm sorry if this is not what you're talking about... > > /** > * assume your table structure just like this. > * table: users > * | id | country | name | population | > * ------------------------------------------------------------------ > * | 1 | Texas | Fort Worth | 400000 | > * > */ > > function getPopulationById($id) { > // echo 'SELECT country, name, population FROM users WHERE id = ' . > $id;die; > $result = mysql_query('SELECT country, name, population FROM users > WHERE id = ' . $id); > if(mysql_num_rows($result) != 1) return false; > $row = mysql_fetch_assoc($result); > $pop[$id][$row['country']][$row['name']] = $row['population']; > return $pop; > } > > $array = getPopulationById(1); > print_r($array); > // print_r($array) should be like this: > // Array ( [1] => Array ( [Texas] => Array ( [Fort Worth] => 400000 ) ) ) > > On Fri, Mar 6, 2009 at 3:41 PM, Anton Heuschen <antonfh@xxxxxxxxx> wrote: >> This might sound trivial, but for the live of me cant seem to get it to >> work, and I am not familiar with such a thing. >> >> What I have is a query lets say : >> >> select country,name,population from USERS where id= 'some_id' "; >> >> >> Now I want to assign the result to one set (The above example might have > 3+ >> entries per telephone, thus what would be nice is something like an array > of >> : >> >> >> [id][country][name] = population .......... or to be exact if I echo the >> value for each id and country and name to get the population value >> >> >> Like : >> >> Array { >> >> [id] array { >> [country] array { >> [0] = USA >> } >> [name] array { >> [0] = test >> >> } >> >> } >> >> >> >> >> I dont know something like that, maybe Im over comlicating the question > now >> even, the main thing is wondered was in the first place was with a > standard >> query and variable assign, from the query like: >> >> select country,name,population from USERS where id= 'some_id' "; >> >> normally you would just assign each field to one variable. like >> >> $country = result["country"] >> $name = result["name"] >> >> >> But now I want all 3 fields as one variable (which would be an array) > ..but >> how ? >> >> I hope I have not totally confused the question now. >> >> Thanks in advance > -- Jim Lucas "Some men are born to greatness, some achieve greatness, and some have greatness thrust upon them." Twelfth Night, Act II, Scene V by William Shakespeare -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php