Trevor, That is the key!!! You rock...cut my page load time in half. Thanks my good man! Ron >From: Gryffyn, Trevor >To: Derrick Hermanson; Herhuth, Ron; php-windows@xxxxxxxxxxxxx >Sent: 05/25/2004 3:11 PM >What's happening is the pointer on the results is advancing until it >hits the end of the result set. When you run it again, the pointer is >still at the end of the result set and therefore sees nothing 'ahead' of >it. > >The same thing can happen with arrays. I'm not sure if you have to do >it still, but I habituatlly do a "reset($arr);" after I do a sort on the >array because the sort did (still does?) leave the array pointer at the >end of the array, necessitating a 'reset'. > >Read some of the notes here: >http://us4.php.net/mysql_fetch_array > >This one in particular should help: >******************************** >Ben >06-Apr-2004 09:59 >One of the most common mistakes that people make with this function, >when using it multiple times in one script, is that they forget to use >the mysql_data_seek() function to reset the internal data pointer. > >When iterating through an array of MySQL results, e.g. > ><?php >while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { > foreach ($line as $col_value) { > echo $col_value . '<br />'; > } >} >?> > >the internal data pointer for the array is advanced, incrementally, >until there are no more elements left in the array. So, basically, if >you copy/pasted the above code into a script TWICE, the second copy >would not create any output. The reason is because the data pointer has >been advanced to the end of the $line array and returned FALSE upon >doing so. > >If, for some reason, you wanted to interate through the array a second >time, perhaps grabbing a different piece of data from the same result >set, you would have to make sure you call > ><?php >mysql_data_seek($result, 0); >?> > >This function resets the pointer and you can re-iterate through the >$line array, again! >******************************** > >-TG > > >> -----Original Message----- >> From: Derrick Hermanson [mailto:dhermanson@xxxxxxxxx] >> Sent: Tuesday, May 25, 2004 3:05 PM >> To: Ron.Herhuth@xxxxxxxxxxxxxxxxx; php-windows@xxxxxxxxxxxxx >> Subject: RE: MS SQL Query question >> >> >> try something like this >> >> $result = mssql_query ($query); >> if ($result) { >> while ($template_args = msssql_fetch_array ($res)) { >> //what ever you want to do with the data >> } >> } >> >> Derrick Hermanson >> Programmer/Analyst I >> Acton International LTD. >> 402.470.5816 >> mailto:dhermanson@xxxxxxxxx >> >> >> -----Original Message----- >> From: Ron.Herhuth@xxxxxxxxxxxxxxxxx >> [mailto:Ron.Herhuth@xxxxxxxxxxxxxxxxx] >> Sent: Tuesday, May 25, 2004 1:30 PM >> To: php-windows@xxxxxxxxxxxxx >> Subject: MS SQL Query question >> >> >> >> When I run a query the syntax looks like this: >> >> $result = mssql_query($query); >> $numRows = mssql_num_rows($result); >> >> for($i=0; $i<$numRows; $i++) >> { >> $row = mssql_fetch_array($result); >> } >> >> but if I go to try and loop through the resultset again it wont work >> unless I run this line again "$result = mssql_query($query);" >> >> I'm sure this is wasting resources but I can't seem to get >> around it. Any >> suggestions? >> >> Thanks, >> Ron >> >> -- >> PHP Windows Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > >