[PHP-DB] PHP Objects and SQL Results

2010-02-12 Thread Paul

Hi all,

I'm currently having a problem correctly formatting a table within a 
while loop.  I'm using an object to store the results of a query, and 
using the while to iterate through it each row to produce the output:


$query = SELECT * FROM foo WHERE UserID =  .$uID .  ORDER BY bar;
$result = mysql_query($query);

while($obj = mysql_fetch_object($result))
{
$obj-bar;
}

To properly format the table, I need to check the value of bar in the 
next iteration of the object (but have to do it on the current one). 
Using an array, I would do:


next($obj);
if($obj[bar] == something)
{
//do things
}
prev($obj);

Is there an equivalent to object?  I've tried the above method, but 
nothing happens.  I've also tried type casting it to an array, without 
success.


Is there anyway to iterate through this?

Thanks,
Paul

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



Re: [PHP-DB] PHP Objects and SQL Results

2010-02-12 Thread Eric Lee
On Sat, Feb 13, 2010 at 3:26 AM, Paul devine...@msn.com wrote:

 Hi all,

 I'm currently having a problem correctly formatting a table within a while
 loop.  I'm using an object to store the results of a query, and using the
 while to iterate through it each row to produce the output:

 $query = SELECT * FROM foo WHERE UserID =  .$uID .  ORDER BY bar;
 $result = mysql_query($query);

 while($obj = mysql_fetch_object($result))
 {
$obj-bar;
 }

 To properly format the table, I need to check the value of bar in the next
 iteration of the object (but have to do it on the current one). Using an
 array, I would do:

 next($obj);
 if($obj[bar] == something)
 {
//do things
 }
 prev($obj);

 Is there an equivalent to object?  I've tried the above method, but nothing
 happens.  I've also tried type casting it to an array, without success.

 Is there anyway to iterate through this?


Paul

Is this the one you want ?

$sql = 'select id, name from test';
$result = mysql_query($sql);
$rows = array();
$row = null;
while ($row = mysql_fetch_object($result))
{
$rows[] = $row;
}

reset($rows);

for ($i = 0, $c = sizeof($rows) - 1; $i  $c; $i++)
{
next($rows);
if (current($rows)-name)
{
// something to do
}
prev($rows);

echo current($rows)-id, ' ', current($rows)-name, \n;

next($rows);
}

if (current($rows))
{
echo current($rows)-id, ' ', current($rows)-name, \n;

}

Regards,
Eric,


 Thanks,
 Paul

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




Re: [PHP-DB] PHP Objects and SQL Results

2010-02-12 Thread Paul Hollingworth
Thanks for the code Eric, it seems to loosely provide the functionality 
that I'm after.


Just out of interest though, is there no other way to find the next 
result row in an object apart from dumping it into an array?


Thanks,
Paul

Eric Lee wrote:

On Sat, Feb 13, 2010 at 3:26 AM, Paul devine...@msn.com wrote:


Hi all,

I'm currently having a problem correctly formatting a table within a while
loop.  I'm using an object to store the results of a query, and using the
while to iterate through it each row to produce the output:

$query = SELECT * FROM foo WHERE UserID =  .$uID .  ORDER BY bar;
$result = mysql_query($query);

while($obj = mysql_fetch_object($result))
{
   $obj-bar;
}

To properly format the table, I need to check the value of bar in the next
iteration of the object (but have to do it on the current one). Using an
array, I would do:

next($obj);
if($obj[bar] == something)
{
   //do things
}
prev($obj);

Is there an equivalent to object?  I've tried the above method, but nothing
happens.  I've also tried type casting it to an array, without success.

Is there anyway to iterate through this?



Paul

Is this the one you want ?

$sql = 'select id, name from test';
$result = mysql_query($sql);
$rows = array();
$row = null;
while ($row = mysql_fetch_object($result))
{
$rows[] = $row;
}

reset($rows);

for ($i = 0, $c = sizeof($rows) - 1; $i  $c; $i++)
{
next($rows);
if (current($rows)-name)
{
// something to do
}
prev($rows);

echo current($rows)-id, ' ', current($rows)-name, \n;

next($rows);
}

if (current($rows))
{
echo current($rows)-id, ' ', current($rows)-name, \n;

}

Regards,
Eric,



Thanks,
Paul

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






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



Re: [PHP-DB] PHP Objects and SQL Results

2010-02-12 Thread Karl DeSaulniers

Hi Paul,
Can't you just?

$query = SELECT DISTINCT bar FROM foo WHERE UserID =  .$uID;
$result = mysql_query($query);

while($obj = mysql_fetch_assoc($result) {
$bar = $obj['bar'];
 if ($bar == something) {
 //do this
}
}

I'm some what a beginner, so sorry if this wastes your time.


Karl


On Feb 12, 2010, at 1:26 PM, Paul wrote:


Hi all,

I'm currently having a problem correctly formatting a table within  
a while loop.  I'm using an object to store the results of a query,  
and using the while to iterate through it each row to produce the  
output:


$query = SELECT * FROM foo WHERE UserID =  .$uID .  ORDER BY bar;
$result = mysql_query($query);

while($obj = mysql_fetch_object($result))
{
$obj-bar;
}

To properly format the table, I need to check the value of bar in  
the next iteration of the object (but have to do it on the current  
one). Using an array, I would do:


next($obj);
if($obj[bar] == something)
{
//do things
}
prev($obj);

Is there an equivalent to object?  I've tried the above method, but  
nothing happens.  I've also tried type casting it to an array,  
without success.


Is there anyway to iterate through this?

Thanks,
Paul

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



Karl DeSaulniers
Design Drumm
http://designdrumm.com



Re: [PHP-DB] PHP Objects and SQL Results

2010-02-12 Thread Eric Lee
On Sat, Feb 13, 2010 at 7:46 AM, Paul Hollingworth devine...@msn.comwrote:

 Thanks for the code Eric, it seems to loosely provide the functionality
 that I'm after.

 Just out of interest though, is there no other way to find the next result
 row in an object apart from dumping it into an array?


Paul

Apologize  !

I think no. The resource returned by mysql_query acts like a pointer (or
cursor on database side) that point to the current record
in result set. Before it is able advanced to the next the record must
retrieved first.

Might some design patterns  be help for your situation.
And wait for some php pros that master in this area.


Regards,
Eric



Thanks,
 Paul


 Eric Lee wrote:

 On Sat, Feb 13, 2010 at 3:26 AM, Paul devine...@msn.com wrote:

  Hi all,

 I'm currently having a problem correctly formatting a table within a
 while
 loop.  I'm using an object to store the results of a query, and using the
 while to iterate through it each row to produce the output:

 $query = SELECT * FROM foo WHERE UserID =  .$uID .  ORDER BY bar;
 $result = mysql_query($query);

 while($obj = mysql_fetch_object($result))
 {
   $obj-bar;
 }

 To properly format the table, I need to check the value of bar in the
 next
 iteration of the object (but have to do it on the current one). Using an
 array, I would do:

 next($obj);
 if($obj[bar] == something)
 {
   //do things
 }
 prev($obj);

 Is there an equivalent to object?  I've tried the above method, but
 nothing
 happens.  I've also tried type casting it to an array, without success.

 Is there anyway to iterate through this?


 Paul

 Is this the one you want ?

 $sql = 'select id, name from test';
 $result = mysql_query($sql);
 $rows = array();
 $row = null;
 while ($row = mysql_fetch_object($result))
 {
$rows[] = $row;
 }

 reset($rows);

 for ($i = 0, $c = sizeof($rows) - 1; $i  $c; $i++)
 {
next($rows);
if (current($rows)-name)
{
// something to do
}
prev($rows);

echo current($rows)-id, ' ', current($rows)-name, \n;

next($rows);
 }

 if (current($rows))
 {
echo current($rows)-id, ' ', current($rows)-name, \n;

 }

 Regards,
 Eric,


  Thanks,
 Paul

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




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