Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1270
  • Last Modified:

How to Loop through a recordset with a counter

I am totally new to php, and after hours cannot figure this out.
I have this code (sample #1) to get a recordset that has one column, and loop through it. It work find
My problem is that I must build a moving average based on the values in the recordset.  Do do so, I want to loop through the recordset using a counter like in Sample #2

 
Sample #1
$rsMA = odbc_exec($conn,$sql);
while($row = odbc_fetch_array($rsMA))
{echo $row['Close'];}
Sample #2
for($i=1; $i < 200; $i++) {
  	echo $row[$1];
}

Open in new window

0
rrhandle8
Asked:
rrhandle8
  • 2
1 Solution
 
spoxoxCommented:
See $count and $tally in the snippet.
<?php 
//connect to MySQL
  $username = "eeuser";
  $password = "eepw";         
  $hostname = "localhost";
  $dbconn   = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
 
//connect to one MySQL database
  $database = mysql_select_db("eedatabase",$dbconn);
 
//text of the query to execute against the database 
  $query    = "SELECT aKey, aName, anAmount FROM aTable";
 
//execute the query, store the result set
  $result   = mysql_query($query) or die(mysql_error());
 
  $count = 0;
  $tally = 0;
//access all the data, one row at a time
  while ($row = mysql_fetch_array($result)) {
    echo $row["aKey"] . ' '. $row["aName"];
    $count++;  // will count each row
    $tally += $row["anAmount"];  // will add up all anAmount fields
    
  }
 
   mysql_close($dbconn);
?>

Open in new window

0
 
rrhandle8Author Commented:
ERROR:
Warning: mysql_fetch_array(): supplied resource is not a valid MySQL result resource

I am using ODBC to connect to an Access database.  Does that make a difference?
0
 
spoxoxCommented:
Yes; sorry, didn't pay attention to that. The mysql_* stuff is particular to MySQL. Just replace it with the appropriate ODBC stuff, something like the attached snippet.
//something like this SQL:
$sql = "select Close, anAmount from someTable";
 
$rsMA = odbc_exec($conn,$sql);
 
$count = 0;
$tally = 0;
 
while($row = odbc_fetch_array($rsMA)) {
  echo $row['Close'];
  $count++;  // will count each row
  $tally += $row["anAmount"];  // will add up all anAmount fields
}

Open in new window

0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now