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
> [email protected] | 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:[email protected]]
> Sent: Friday, March 06, 2009 3:04 PM
> To: Anton Heuschen
> Cc: [email protected]
> Subject: Re: [PHP] 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 <[email protected]> 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