My database is set up in this way: fan_roster: has player id (play_id) , week, and stats on that player for that week. So there are 20 records for each player, because there are 20 weeks. So what I need to do is add up all the players weekly totals. so pass_yrd1 for week1 + pass_yrd1 for week2 etc. Then I need to put the season total for that players passing yards into my roster table under pass_yrd. The roster table only as 1 record per player and has season stats instead of weekly stats. So when my loop goes through and doesn't match $i with ros_id. I need to advance $i one but ros_id needs to stay the same until there is a match. As you can see form this url: http://55yardline.cflmain.com/55main/2003/fantasy/tests/update.php it's kind of working, except where there are holes in the roster table.. for example, there is no ros_id equal to 12 so it should echo "12 no player" but it seems to skip. Hope that makes sense. "Mike Ford" <M.Ford@lmu.ac.uk> wrote in message 841D90E489448A4F804E1D1B95768BF7D460B9@lis-exchange3.lmu.ac.uk">news:841D90E489448A4F804E1D1B95768BF7D460B9@lis-exchange3.lmu.ac.uk... > > -----Original Message----- > > From: Ian Fingold [mailto:cjmach@gto.net] > > Sent: 03 June 2003 16:58 > > > > Ok I'm trying to write this function to up date some fields > > in my database > > so i'm grabbing some info from a query and throwing it into > > an array (with > > mysql_fetch_array). > > > > one of the values i'm puting into that array is the table id. I'm then > > comparing the table id with the value of $i in my loop. Now > > my problem is > > when I loop through and the table id is not equal to $i I > > need to add 1 to > > $i but I need to move the array pointer back one. > > > > In the code below I used prev() but i'm getting warnings > > about the "Passed > > variable is not an array". > > http://55yardline.cflmain.com/55main/2003/fantasy/tests/update.php > > > > I'm thinking that prev() must not view an array fetch from a > > database the > > same or something. But what else can I use besides prev() to > > rewind the > > pointer by 1? > > > > Thanks, > > > > > > <?php > > > > include "function.php"; > > connect1(); > > > > //query roster database and put results into an array. > > $num1 = mysql_query("SELECT * FROM roster"); > > $num2 = mysql_fetch_array($num1); > > //set i to zero > > $i = 0; > > > > //start loop to determine if $i matches the current roster id > > do { > > $i = $i + 1; > > if ($num2["ros_id"] == $i) { > > //if a match is found, query the fan_roster database > > where the play_id = > > $i > > //and put the results into a array > > $upd = mysql_query("SELECT * FROM fan_roster WHERE play_id='$i'"); > > $updr = mysql_fetch_array($upd); > > //loop through the passing field and add them up > > do { > > $passing = $passing + $updr["pass_yrd1"]; > > } while($updr = mysql_fetch_array($upd)); > > > > //Print feedback > > echo "Player:$i total Passing: $passing $updr[play_id]<br>"; > > > > //update the roster table with the total $passing where ros_id=$i > > $upd1 = mysql_query("UPDATE roster SET pass_yrd='$passing' WHERE > > ros_id='$i'"); > > //reset passing for next loop > > $passing = 0; > > } else { > > //if there isn't a match, add 1 to $i > > $i = $i + 1; > > > > //print feedback > > echo "$i no player<br>"; > > > > //put the array pointer back one for next loop > > $num2 = prev($num2["ros_id"]; > > (1) prev() takes an array as its argument, not an individual element, so prev($num2) would be syntactically correct (but I doubt it's what you really mean). > (2) anyway, this whole statement is pointless as you immediately do: > > > } > > } while($num2 = mysql_fetch_array($num1)); > > Which promptly overwrites the value of $num2 you just put there! > > What are you *really* trying to do? > > ?> > > > > > > > > -- > > 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