Actually, it's not accurate for me to say "stepping through an array more than once", as I want to step through the database ( $result) more than once, without having to make connections to the db again. Can this be done?
On Wed, 2002-08-28 at 13:58, Petre Agenbag wrote: > Hi > I would like to do something like the following: > > I have a table that contains a bunch of info at various "stages". To > optimize the load on the db, I was thinking it would be better to do a > "select * from table" , and then use PHP to sort through the results, > rather than have 3 SQL's with "where status="xxx" ". > > There are essentially 3 "stages" or "states" at which the data in the > table can be sorted, so I would need to loop through the array 3 times > in order to display the entire contents of the table ordered by the 3 > statges. > > This is my first attempt: > > $sql_it = 'select * from tickets '; > $result_it = mysql_query($sql_it); > echo 'New Tickets <br>'; > $count = 0; > while ($myrow_it = mysql_fetch_assoc($result_it)) { > $status = $myrow_it["status"]; > if ($status == "OPEN") { > $company = $myrow_it["company"]; > $title = $myrow_it["title"]; > $content = $myrow_it["content"]; > echo $company.' :: '.$title.' :: '.$content.'<br>'; > $count++; > } > } > echo 'Total New:'.$count.'<br>'; > > > echo 'Current Tickets <br>'; > > while ($myrow_it = mysql_fetch_assoc($result_it)) { > $status = $myrow_it["status"]; > if ($status == "CURRENT") { > $company = $myrow_it["company"]; > $title = $myrow_it["title"]; > $content = $myrow_it["content"]; > echo $company.' :: '.$title.' :: '.$content.'<br>'; > } > } > > echo 'Old Tickets <br>'; > > while ($myrow_it = mysql_fetch_assoc($result_it)) { > $status = $myrow_it["status"]; > if ($status == "OLD") { > $company = $myrow_it["company"]; > $title = $myrow_it["title"]; > $content = $myrow_it["content"]; > echo $company.' :: '.$title.' :: '.$content.'<br>'; > } > } > > > > > > Now, obviously this only echoes the first part, as it seems the array is > at the end when it tries to loop through again. > I tried a reset($myrow_it) , but it drops an error about $myrow_it not > being an array. > > I'm not sure if my logic here is correct. Is this the way to "re-loop" > the array? > > Hope I explained what I am trying to do well enough. > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php