| Newcomer
Join Date: Jan 2006
Posts: 3
| results repeating for each user i am having this problem.. this is a hiscores script for runescape, that takes data from runescape.com and then updates it into my own database, the problem here is it keeps using the first player and it is repeating his results each time instead of for each player, check this out, and let me know if u need more details PHP Code: <?php //capture required files for inclusion require_once "../../maincore.php"; require_once BASEDIR."subheader.php"; require_once ADMIN."navigation.php"; require_once "core.php"; //checks admin rights if (!checkrights("HS") || !defined("iAUTH") || $aid != iAUTH) fallback("../index.php"); opentable($module_name." v".$version." - Update All Players"); $result = dbquery("SELECT player_id, player_name FROM ".$db_prefix."hiscores LIMIT $result_limit"); function GetRank($skill) { $str1 = strstr($GLOBALS['contents'], '>'.$skill.'<'); if(strpos($str1, 't"')>40){return '';} $pos1 = strpos($str1, 't"')+3; return substr($str1, $pos1, strpos($str1,'<',$pos1)-$pos1);} function GetLvl($skill) { $str1 = strstr($GLOBALS['contents'], '>'.$skill.'<'); if(strpos($str1, 't"')>40){return '';} $pos1 = strpos($str1, 't"',strpos($str1, 't"')+1)+3; return substr($str1, $pos1, strpos($str1,'<',$pos1)-$pos1);} function GetXP($skill) { $str1 = strstr($GLOBALS['contents'], '>'.$skill.'<'); if(strpos($str1, 't"')>40){return '';} $pos1 = strpos($str1, 't"',strpos($str1, 't"',strpos($str1, 't"')+1)+1)+3; return substr($str1, $pos1, strpos($str1,'<',$pos1)-$pos1);} function IS_ODD($player_prayer) { return($player_prayer & 1); } function IS_EVEN($player_prayer) { return(!($player_prayer & 1)); } function IS_ODD2($ranged) { return($ranged & 1); } function IS_EVEN2($ranged) { return(!($ranged & 1)); } function IS_ODD3($magic) { return($magic & 1); } function IS_EVEN3($magic) { return(!($magic & 1)); } while( $data = dbarray($result) ) $id[] = $data ['player_id']; foreach($id as $value) { $name = dbresult(dbquery("SELECT player_name FROM fusion_hiscores WHERE player_id = $value"),0); $handle = fopen("http://hiscore-web.runescape.com/lang/en/aff/runescape/hiscorepersonal.ws?user1=".$name,"r"); if($handle){ while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle);} $overall = GetLvl(Overall); $attack = GetLvl(Attack); $strength = GetLvl(Strength); $defence = GetLvl(Defence); $hitpoints = GetLvl(Hitpoints); $ranged = GetLvl(Ranged); $player_prayer = GetLvl(Prayer); $magic = GetLvl(Magic); $cooking = GetLvl(Cooking); $woodcutting = GetLvl(Woodcutting); $fletching = GetLvl(Fletching); $fishing = GetLvl(Fishing); $firemaking = GetLvl(Firemaking); $crafting = GetLvl(Crafting); $smithing = GetLvl(Smithing); $mining = GetLvl(Mining); $herblore = GetLvl(Herblore); $agility = GetLvl(Agility); $thieving = GetLvl(Thieving); $slayer = GetLvl(Slayer); $runecraft = GetLvl(Runecraft); $farming = GetLvl(Farming); $construction = GetLvl(Construction); //begin combat $def = $defence*100; $hp = $hitpoints*100; $att = $attack*130; $str = $strength*130; //calculate base combat if(IS_ODD($player_prayer)){ $prayer = ($player_prayer - 1)*50; } elseif(IS_EVEN($player_prayer)){ $prayer = $player_prayer*50; } $base1 = $def + $hp + $prayer; $base_combat = $base1/400; //find personal class combat if(IS_ODD2($ranged)){ $range = (($ranged - 1)+($ranged*2))*65; } elseif(IS_EVEN2($player_prayer)){ $range = $ranged*195; } if(IS_ODD3($magic)){ $mage = (($magic - 1)+($magic*2))*65; } elseif(IS_EVEN3($magic)){ $mage = $magic*195; } $melee_combat = ($att + $str)/400; $range_combat = $range/400; $mage_combat = $mage/400; //calculate final class combat if ($melee_combat > $range_combat) { $class_combat = $melee_combat; } elseif ($melee_combat > $mage_combat) { $class_combat = $melee_combat; } elseif ($range_combat > $melee_combat) { $class_combat = $range_combat; } elseif ($range_combat > $mage_combat) { $class_combat = $range_combat; } elseif ($mage_combat > $melee_combat) { $class_combat = $mage_combat; } elseif ($mage_combat > $range_combat) { $class_combat = $mage_combat; } //finalize combat level $combat_level = $class_combat + $base_combat; //end combat formula $update_stats = ("UPDATE ".$db_prefix."hiscores set player_att = '$attack', player_str = '$strength', player_def = '$defence', player_hp = '$hitpoints', player_range = '$ranged', player_mage = '$magic', player_pray = '$player_prayer', player_mining = '$mining', player_smith = '$smithing', player_wc = '$woodcutting', player_fm = '$farming', player_agil = '$agility', player_herb = '$herblore', player_fish = '$fishing', player_thief = '$thieving', player_cook = '$cooking', player_craft = '$crafting', player_fletch = '$fletching', player_slay = '$slayer', player_farm = '$farming', player_con = '$construction', player_overall = '$overall', player_cmb = '$combat_level' WHERE player_id = $value"); $run_query = dbquery($update_stats); if (!$run_query){ echo "<center>Error Updating Player <B>".$name."</b> Stats.</center>"; } else { echo "<center><i>ID[".$value."]</i>|Player: <b>".$name."</b> successfully updated. <br><i>ASDHRPM [$attack|$strength|$defence|$hitpoints|$ranged|$player_prayer|$magic]</center></i>"; } } echo "<center><br><br>Click [<a href='".BASEDIR."administration/hiscores/index.php".$aidlink."'>here</a>] to return to the ".$module_name."</center>"; closetable(); ?>
This below is the parsed result, notice how the ADSHRPM for each player is the same for everyone, it shouldnt be. Quote:
ID[13]|Player: XxIcEyxX successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[7]|Player: M4r1073nd0 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[8]|Player: Cloudsilver successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[9]|Player: Graffixetet successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[10]|Player: Bayer1 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[11]|Player: Beastoflords successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[12]|Player: Kr0nikdr0 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[14]|Player: Tam063 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[15]|Player: Nancy Sydnor successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[16]|Player: Snowager1234 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[17]|Player: Li7ark_Gun successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[18]|Player: Darkacid successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[19]|Player: Rich Pking successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[20]|Player: Pillow60 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[21]|Player: Elmasmalo successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[22]|Player: Cervantes D successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[23]|Player: C3po 445 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[24]|Player: Raistfasa successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[25]|Player: Swords Man28 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[29]|Player: Carnage 1983 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[28]|Player: Darkdeath19 successfully updated.
ASDHRPM [96|98|97|97|74|3400|78]
ID[31]|Player: Gujudesire4u successfully updated.
ASDHRPM [96|98|97|97|74|3400|78] |
Can anyone help?
Last edited 10-03-2006 at 12:29 AM.
|