RE: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Andras Kende


-Original Message-
From: Robert Cummings [mailto:[EMAIL PROTECTED] 
Sent: Monday, July 16, 2007 6:12 PM
To: Andras Kende
Cc: php-general@lists.php.net
Subject: RE: [PHP] mysql_fetch_array to associative array

On Mon, 2007-07-16 at 13:37 -0700, Andras Kende wrote:
> 
> > function GetAssoc($query) {
> > $get = $this->Execute ( $query );
> > 
>   $result = array();
> > while ( $row = mysql_fetch_array($get) ) {
>   $result[] = $row;
> > 
> > }
> > mysql_free_result($get);
> > 
> > return $result;
> > }

I'll focus on the above one since that's probably what's causing your
grief... I'm also going to rename it so it's more explanatory:

Execute ( $query )) )
{
while( ($row = mysql_fetch_assoc( $get )) )
{
$pairs[$row[$keyField]] = $row[$valueField];
}

mysql_free_result( $get );
}

return $pairs;
}

?>

That's the function... it creates an array of pair mappings based on the
table fields $keyField and $valueField. So let's say you have the
following table in your database:

CREATE TABLE cars
(
id  int   not null  auto_increment,
namevarchar( 32 ) not null,

primary key( id )
);


Then you might issue the following function call:



Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

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





Rob,

THANKS 

I also hacked together a version:

while ( $row = mysql_fetch_array($get) ) {
$result[$row[0]] = $row[1];
}



Best regards,

Andras 

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



RE: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Robert Cummings
On Mon, 2007-07-16 at 13:37 -0700, Andras Kende wrote:
> 
> > function GetAssoc($query) {
> > $get = $this->Execute ( $query );
> > 
>   $result = array();
> > while ( $row = mysql_fetch_array($get) ) {
>   $result[] = $row;
> > 
> > }
> > mysql_free_result($get);
> > 
> > return $result;
> > }

I'll focus on the above one since that's probably what's causing your
grief... I'm also going to rename it so it's more explanatory:

Execute ( $query )) )
{
while( ($row = mysql_fetch_assoc( $get )) )
{
$pairs[$row[$keyField]] = $row[$valueField];
}

mysql_free_result( $get );
}

return $pairs;
}

?>

That's the function... it creates an array of pair mappings based on the
table fields $keyField and $valueField. So let's say you have the
following table in your database:

CREATE TABLE cars
(
id  int   not null  auto_increment,
namevarchar( 32 ) not null,

primary key( id )
);


Then you might issue the following function call:



Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

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



RE: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Andras Kende


-Original Message-
From: Robert Cummings [mailto:[EMAIL PROTECTED] 
Sent: Monday, July 16, 2007 1:46 PM
To: Andras Kende
Cc: php-general@lists.php.net
Subject: RE: [PHP] mysql_fetch_array to associative array

On Mon, 2007-07-16 at 13:37 -0700, Andras Kende wrote:
> 
> Hi Rob,
> 
> Thanks for your help, its associative but I forget to mention its needs
> To be a single dimensional associative array.
> 
> 
> $result = array();
> while ( $row = mysql_fetch_assoc($get) ) {
> $result[] = $row;
> }
> 
> This creates multi dimensional like:
> 
> Array ( [0] => Array ( [0] => 3 [1] => BMW ) [1] => Array ( [0] => 1 [1]
=>
> Mercedes ) )
> 
> I tried to play with foreach and array_push but still not perfect

I'm not sure I understand... you have multiple rows being returned do
you not? How to you intend to handle them in a single level array?

Let's image the following rows are returned from the database:

array
(
'title' => 'The Dragonbone Chair',
'author' => 'Tad Williams',
),
array
(
'title' => 'Sword of Shannarah',
'author' => 'Terry Brooks',
),

Show me how you would like the final array to look and I can figure out
the code you need to organize it the way you want.

Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

Hi Rob,

$conn->getassoc(select id,name from cars)

I would need a single array like: (its for used with pear:quickform
dropdown)

Array ( [2] => BMW [1] => FORD )

Or:

Array ( [The Dragonbone Chair] => 'Tad Williams' [Sword of Shannarah] =>
'Terry Brooks' )


Thanks a lot,

Andras

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



RE: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Robert Cummings
On Mon, 2007-07-16 at 13:37 -0700, Andras Kende wrote:
> 
> Hi Rob,
> 
> Thanks for your help, its associative but I forget to mention its needs
> To be a single dimensional associative array.
> 
> 
> $result = array();
> while ( $row = mysql_fetch_assoc($get) ) {
> $result[] = $row;
> }
> 
> This creates multi dimensional like:
> 
> Array ( [0] => Array ( [0] => 3 [1] => BMW ) [1] => Array ( [0] => 1 [1] =>
> Mercedes ) )
> 
> I tried to play with foreach and array_push but still not perfect

I'm not sure I understand... you have multiple rows being returned do
you not? How to you intend to handle them in a single level array?

Let's image the following rows are returned from the database:

array
(
'title' => 'The Dragonbone Chair',
'author' => 'Tad Williams',
),
array
(
'title' => 'Sword of Shannarah',
'author' => 'Terry Brooks',
),

Show me how you would like the final array to look and I can figure out
the code you need to organize it the way you want.

Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

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



RE: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Andras Kende


-Original Message-
From: Robert Cummings [mailto:[EMAIL PROTECTED] 
Sent: Monday, July 16, 2007 7:52 AM
To: Andras Kende
Cc: php-general@lists.php.net
Subject: Re: [PHP] mysql_fetch_array to associative array

On Mon, 2007-07-16 at 07:41 -0700, Andras Kende wrote:
> Hello,
> 
> I use the following GetArray for returning an array from mysql results.
> 
> But having a hard time modifying it for returning a simple associative
array
> 
> Like:
> 
> $conn->GetAssoc('SELECT id, name from manufacturers')
> 
> Array ( [2] => BMW [1] => MAZDA [9] => FORD )
> 
> 
>   function GetArray($query) {
>   $get = $this->Execute ( $query );
>   
  $result = array();
>   while ( $row = mysql_fetch_array($get) ) {
  $result[] = $row;
>   }
>   mysql_free_result($get);
>   
>   return $result;
>   }
> 
> 
>   function GetAssoc($query) {
>   $get = $this->Execute ( $query );
>   
  $result = array();
>   while ( $row = mysql_fetch_array($get) ) {
  $result[] = $row;
> 
>   }
>   mysql_free_result($get);
>   
>   return $result;
>   }
> 
> I searched a lot but didn't find anything.
> 
> Thanks for any help :)

You're welcome.

Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...



Hi Rob,

Thanks for your help, its associative but I forget to mention its needs
To be a single dimensional associative array.


$result = array();
while ( $row = mysql_fetch_assoc($get) ) {
$result[] = $row;
}

This creates multi dimensional like:

Array ( [0] => Array ( [0] => 3 [1] => BMW ) [1] => Array ( [0] => 1 [1] =>
Mercedes ) )

I tried to play with foreach and array_push but still not perfect

Thanks,

Andras

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



Re: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Jim Lucas

Andras Kende wrote:

Hello,

I use the following GetArray for returning an array from mysql results.

But having a hard time modifying it for returning a simple associative array

Like:

$conn->GetAssoc('SELECT id, name from manufacturers')

Array ( [2] => BMW [1] => MAZDA [9] => FORD )


function GetArray($query) {
$get = $this->Execute ( $query );



don't you need to check to make sure that $get is a valid resource???

$result = array();


while ( $row = mysql_fetch_array($get) ) {


All of this can be replace with this one line
$result[] = $row;


}
mysql_free_result($get);

return $result;
}


function GetAssoc($query) {
$get = $this->Execute ( $query );



don't you need to check to make sure that $get is a valid resource???

$result = array();


while ( $row = mysql_fetch_assoc($get) ) {


$result[] = $row;


}
mysql_free_result($get);

return $result;
}

I searched a lot but didn't find anything.

Thanks for any help :)

Andras




--
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



Re: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Robert Cummings
On Mon, 2007-07-16 at 10:52 -0400, Robert Cummings wrote:
> On Mon, 2007-07-16 at 07:41 -0700, Andras Kende wrote:
> > Hello,
> > 
> > I use the following GetArray for returning an array from mysql results.
> > 
> > But having a hard time modifying it for returning a simple associative array
> > 
> > Like:
> > 
> > $conn->GetAssoc('SELECT id, name from manufacturers')
> > 
> > Array ( [2] => BMW [1] => MAZDA [9] => FORD )
> > 
> > 
> > function GetArray($query) {
> > $get = $this->Execute ( $query );
> > 
>   $result = array();
> > while ( $row = mysql_fetch_array($get) ) {
>   $result[] = $row;
> > }
> > mysql_free_result($get);
> > 
> > return $result;
> > }
> > 
> > 
> > function GetAssoc($query) {
> > $get = $this->Execute ( $query );
> > 
>   $result = array();
> > while ( $row = mysql_fetch_array($get) ) {

You should probably use mysql_fetch_assoc() in the above line.

Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

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



Re: [PHP] mysql_fetch_array to associative array

2007-07-16 Thread Robert Cummings
On Mon, 2007-07-16 at 07:41 -0700, Andras Kende wrote:
> Hello,
> 
> I use the following GetArray for returning an array from mysql results.
> 
> But having a hard time modifying it for returning a simple associative array
> 
> Like:
> 
> $conn->GetAssoc('SELECT id, name from manufacturers')
> 
> Array ( [2] => BMW [1] => MAZDA [9] => FORD )
> 
> 
>   function GetArray($query) {
>   $get = $this->Execute ( $query );
>   
  $result = array();
>   while ( $row = mysql_fetch_array($get) ) {
  $result[] = $row;
>   }
>   mysql_free_result($get);
>   
>   return $result;
>   }
> 
> 
>   function GetAssoc($query) {
>   $get = $this->Execute ( $query );
>   
  $result = array();
>   while ( $row = mysql_fetch_array($get) ) {
  $result[] = $row;
> 
>   }
>   mysql_free_result($get);
>   
>   return $result;
>   }
> 
> I searched a lot but didn't find anything.
> 
> Thanks for any help :)

You're welcome.

Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

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



[PHP] mysql_fetch_array to associative array

2007-07-16 Thread Andras Kende
Hello,

I use the following GetArray for returning an array from mysql results.

But having a hard time modifying it for returning a simple associative array

Like:

$conn->GetAssoc('SELECT id, name from manufacturers')

Array ( [2] => BMW [1] => MAZDA [9] => FORD )


function GetArray($query) {
$get = $this->Execute ( $query );

$row_id = 0;
while ( $row = mysql_fetch_array($get) ) {
foreach ( $row as $key => $value )
$result[$row_id][$key] = $value;
$row_id++;
}
mysql_free_result($get);

return $result;
}


function GetAssoc($query) {
$get = $this->Execute ( $query );

$row_id = 0;
while ( $row = mysql_fetch_array($get) ) {

?

}
mysql_free_result($get);

return $result;
}

I searched a lot but didn't find anything.

Thanks for any help :)

Andras

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