Jump to content


Strange Loop Result

  • Please log in to reply
No replies to this topic

#1 Sops21

  • New Members
  • Pip
  • Newbie
  • 1 posts

Posted 01 May 2006 - 07:49 PM

I am writing a php script the stores contact info in a database and then ranks the by the rank that i give them. I am having a problem when it comes to changing their ranks. Let me give you an example:
Joe Smith has a rank of 1
John Doing has a rank of 2
Beth Franks has a Rank of 3
Jim Johnson has a Rank of 4

Now what should happen is that if i want Jim to have a rank of 2 it should bump down everyone elses score. Instead when i run it, it gives Jim a score of 2 and everyone else a score of 4. For the life of me i can't figure out why.

$rank=$ud_rank; // copies the ud_rank to rank, rank  is used in the while loop

    @mysql_select_db($database) or die("Unable to Connect to database");
    $query="SELECT * FROM spots ORDER BY rank";
    $num=mysql_numrows($result); //gets the number of rows in the table
    $newrank=$rank; //copies the current records rank to newrank
    $runs= ($num - $rank); //tells how many times the while loop needs to run
    while ($runs > 0){
     echo "Rank = $rank <br>";
    $newrank=($newrank + 1); //adds one to the new rank
    echo "New Rank =$newrank <br><br>";
    $query="UPDATE spots SET rank='$newrank' WHERE rank='$rank'"; //stores the new values
    @mysql_select_db($database) or die ("Unable to connect to Database");
    $rank=($rank + 1); //addes 1 to the newrank
    $runs=($runs -1); //subtracts one to limit the rumbers of runs...

// tell mysql to update the changes
$query="UPDATE spots SET name='$ud_name', address='$ud_address', city='$ud_city', state='$ud_state', phone='$ud_phone', rank='$ud_rank' WHERE id='$ud_id'";
//do not forget this it is needed to connect to the data base
@mysql_select_db($database) or die ("Unable to conect to Database");
echo "Record Updated";


Any thoughts? For life of me i can't figure it out... if i need to i can post the previous page where the updated information is given....

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users