MrRSMan
12-16-2009, 12:17 PM
I have this code for creating an array of all the tables in a database:
$tables = array();
$rows = mysql_query("SHOW TABLES FROM {$database}");
while ($row = mysql_fetch_array($rows)) {
$tables[] = $row[0];
}
What I need to do now is take the names of each of those tables (in the array) and insert them into this code:
function getStats($tables) {
// Create an array of skills
$skills = array('Overall', 'Attack', 'Defence', 'Strength', 'Hitpoints', 'Ranged', 'Prayer', 'Magic', 'Cooking', 'Woodcutting', 'Fletching', 'Fishing', 'Firemaking', 'Crafting', 'Smithing', 'Mining', 'Herblore', 'Agility', 'Thieving', 'Slayer', 'Farming', 'Runecraft', 'Hunter', 'Construction', 'Summoning', 'Duel Tournament', 'Bounty Hunters', 'Bounty Hunter Rogues', 'Fist of Guthix');
$hs = @file_get_contents('http://hiscore.runescape.com/index_lite.ws?player=' . $tables);
$out = Array();
if (! $hs)
return null;
if (strpos($hs, '404 - Page not found'))
return null;
$stats = explode("\n", $hs);
// Loop through the skills
for($i = 0; $i<count($skills);$i++) {
// Explode each skill into 3 values - rank, level, exp
$stat = explode(',', $stats[$i]);
$out[$skills[$i]] = Array();
$out[$skills[$i]]['rank'] = $stat[0];
$out[$skills[$i]]['level'] = $stat[1];
$out[$skills[$i]]['xp'] = $stat[2];
}
return $out;
}
$out = getStats($row['username']);
if (!empty($out)){
$now = time();
$user = $row['id'];
$overallrank = $out['Overall']['rank'];
$overalllevel = $out['Overall']['level'];
$overallexp = $out['Overall']['xp'];
$overallpercent = ($overallexp / $overallexp) * 100;
$attackrank = $out['Attack']['rank'];
$attacklevel = $out['Attack']['level'];
$attackexp = $out['Attack']['xp'];
$attackpercent = ($attackexp / $overallexp) * 100;
$strengthrank = $out['Strength']['rank'];
$strengthlevel = $out['Strength']['level'];
$strengthexp = $out['Strength']['xp'];
$strengthpercent = ($strengthexp / $overallexp) * 100;
$defencerank = $out['Defence']['rank'];
$defencelevel = $out['Defence']['level'];
$defenceexp = $out['Defence']['xp'];
$defencepercent = ($defenceexp / $overallexp) * 100;
$hitpointsrank = $out['Hitpoints']['rank'];
$hitpointslevel = $out['Hitpoints']['level'];
$hitpointsexp = $out['Hitpoints']['xp'];
$hitpointspercent = ($hitpointsexp / $overallexp) * 100;
$rangedrank = $out['Ranged']['rank'];
$rangedlevel = $out['Ranged']['level'];
$rangedexp = $out['Ranged']['xp'];
$rangedpercent = ($rangedexp / $overallexp) * 100;
$prayerrank = $out['Prayer']['rank'];
$prayerlevel = $out['Prayer']['level'];
$prayerexp = $out['Prayer']['xp'];
$prayerpercent = ($prayerexp / $overallexp) * 100;
$magicrank = $out['Magic']['rank'];
$magiclevel = $out['Magic']['level'];
$magicexp = $out['Magic']['xp'];
$magicpercent = ($magicexp / $overallexp) * 100;
$cookingrank = $out['Cooking']['rank'];
$cookinglevel = $out['Cooking']['level'];
$cookingexp = $out['Cooking']['xp'];
$cookingpercent = ($cookingexp / $overallexp) * 100;
$woodcuttingrank = $out['Woodcutting']['rank'];
$woodcuttinglevel = $out['Woodcutting']['level'];
$woodcuttingexp = $out['Woodcutting']['xp'];
$woodcuttingpercent = ($woodcuttingexp / $overallexp) * 100;
$fletchingrank = $out['Fletching']['rank'];
$fletchinglevel = $out['Fletching']['level'];
$fletchingexp = $out['Fletching']['xp'];
$fletchingpercent = ($fletchingexp / $overallexp) * 100;
$fishingrank = $out['Fishing']['rank'];
$fishinglevel = $out['Fishing']['level'];
$fishingexp = $out['Fishing']['xp'];
$fishingpercent = ($fishingexp / $overallexp) * 100;
$firemakingrank = $out['Firemaking']['rank'];
$firemakinglevel = $out['Firemaking']['level'];
$firemakingexp = $out['Firemaking']['xp'];
$firemakingpercent = ($firemakingexp / $overallexp) * 100;
$craftingrank = $out['Crafting']['rank'];
$craftinglevel = $out['Crafting']['level'];
$craftingexp = $out['Crafting']['xp'];
$craftingpercent = ($craftingexp / $overallexp) * 100;
$smithingrank = $out['Smithing']['rank'];
$smithinglevel = $out['Smithing']['level'];
$smithingexp = $out['Smithing']['xp'];
$smithingpercent = ($smithingexp / $overallexp) * 100;
$miningrank = $out['Mining']['rank'];
$mininglevel = $out['Mining']['level'];
$miningexp = $out['Mining']['xp'];
$miningpercent = ($miningexp / $overallexp) * 100;
$herblorerank = $out['Herblore']['rank'];
$herblorelevel = $out['Herblore']['level'];
$herbloreexp = $out['Herblore']['xp'];
$herblorepercent = ($herbloreexp / $overallexp) * 100;
$agilityrank = $out['Agility']['rank'];
$agilitylevel = $out['Agility']['level'];
$agilityexp = $out['Agility']['xp'];
$agilitypercent = ($agilityexp / $overallexp) * 100;
$thievingrank = $out['Thieving']['rank'];
$thievinglevel = $out['Thieving']['level'];
$thievingexp = $out['Thieving']['xp'];
$thievingpercent = ($thievingexp / $overallexp) * 100;
$slayerrank = $out['Slayer']['rank'];
$slayerlevel = $out['Slayer']['level'];
$slayerexp = $out['Slayer']['xp'];
$slayerpercent = ($slayerexp / $overallexp) * 100;
$farmingrank = $out['Farming']['rank'];
$farminglevel = $out['Farming']['level'];
$farmingexp = $out['Farming']['xp'];
$farmingpercent = ($farmingexp / $overallexp) * 100;
$runecraftrank = $out['Runecraft']['rank'];
$runecraftlevel = $out['Runecraft']['level'];
$runecraftexp = $out['Runecraft']['xp'];
$runecraftpercent = ($runecraftexp / $overallexp) * 100;
$hunterrank = $out['Hunter']['rank'];
$hunterlevel = $out['Hunter']['level'];
$hunterexp = $out['Hunter']['xp'];
$hunterpercent = ($hunterexp / $overallexp) * 100;
$constructionrank = $out['Construction']['rank'];
$constructionlevel = $out['Construction']['level'];
$constructionexp = $out['Construction']['xp'];
$constructionpercent = ($constructionexp / $overallexp) * 100;
$summoningrank = $out['Summoning']['rank'];
$summoninglevel = $out['Summoning']['level'];
$summoningexp = $out['Summoning']['xp'];
$summoningpercent = ($summoningexp / $overallexp) * 100;
}
function combatLevel($attack, $defence, $strength, $hitpoints, $prayer, $ranged, $magic, $summoning) {
$base = ($defence + $hitpoints + floor($prayer / 2) + floor($summoning / 2)) * 0.25;
$melee = ($attack + $strength) * 0.325;
$ranger = floor($ranged * 1.5) * 0.325;
$mage = floor($magic * 1.5) * 0.325;
return $base + max($melee, $ranger, $mage);
}
mysql_query("INSERT INTO $tables (attack, defence, strength, hitpoints, ranged, prayer, magic, cooking, woodcutting, fletching, fishing, firemaking, crafting, smithing, mining, herblore, agility, thieving, slayer, farming, runecraft, hunter, construction, summoning)
VALUES ('$attackexp', '$defenceexp', '$strengthexp', '$hitpointsexp', '$rangedexp', '$magicexp', '$prayerexp', '$cookingexp', '$woodcuttingexp', '$fletchingexp', '$fishingexp', '$firemakingexp', '$craftingexp', '$smithingexp', '$miningexp', '$herbloreexp', '$agilityexp', '$thievingexp', '$slayerexp', '$farmingexp', '$runecraftexp', '$hunterexp', '$constructionexp', '$summoningexp')");
mysql_close();
Please don't let that put you off- it works fine. As you can see, where you see "$tables" is where the table name should be. I need to repeat all of that code for each instance of "$tables".
Problem: I don't know PHP well enough to use 'while' properly. I also think the complexity of that code may cause problems, what with all the curly brackets already there.
Thanks in advance, mrrsman
$tables = array();
$rows = mysql_query("SHOW TABLES FROM {$database}");
while ($row = mysql_fetch_array($rows)) {
$tables[] = $row[0];
}
What I need to do now is take the names of each of those tables (in the array) and insert them into this code:
function getStats($tables) {
// Create an array of skills
$skills = array('Overall', 'Attack', 'Defence', 'Strength', 'Hitpoints', 'Ranged', 'Prayer', 'Magic', 'Cooking', 'Woodcutting', 'Fletching', 'Fishing', 'Firemaking', 'Crafting', 'Smithing', 'Mining', 'Herblore', 'Agility', 'Thieving', 'Slayer', 'Farming', 'Runecraft', 'Hunter', 'Construction', 'Summoning', 'Duel Tournament', 'Bounty Hunters', 'Bounty Hunter Rogues', 'Fist of Guthix');
$hs = @file_get_contents('http://hiscore.runescape.com/index_lite.ws?player=' . $tables);
$out = Array();
if (! $hs)
return null;
if (strpos($hs, '404 - Page not found'))
return null;
$stats = explode("\n", $hs);
// Loop through the skills
for($i = 0; $i<count($skills);$i++) {
// Explode each skill into 3 values - rank, level, exp
$stat = explode(',', $stats[$i]);
$out[$skills[$i]] = Array();
$out[$skills[$i]]['rank'] = $stat[0];
$out[$skills[$i]]['level'] = $stat[1];
$out[$skills[$i]]['xp'] = $stat[2];
}
return $out;
}
$out = getStats($row['username']);
if (!empty($out)){
$now = time();
$user = $row['id'];
$overallrank = $out['Overall']['rank'];
$overalllevel = $out['Overall']['level'];
$overallexp = $out['Overall']['xp'];
$overallpercent = ($overallexp / $overallexp) * 100;
$attackrank = $out['Attack']['rank'];
$attacklevel = $out['Attack']['level'];
$attackexp = $out['Attack']['xp'];
$attackpercent = ($attackexp / $overallexp) * 100;
$strengthrank = $out['Strength']['rank'];
$strengthlevel = $out['Strength']['level'];
$strengthexp = $out['Strength']['xp'];
$strengthpercent = ($strengthexp / $overallexp) * 100;
$defencerank = $out['Defence']['rank'];
$defencelevel = $out['Defence']['level'];
$defenceexp = $out['Defence']['xp'];
$defencepercent = ($defenceexp / $overallexp) * 100;
$hitpointsrank = $out['Hitpoints']['rank'];
$hitpointslevel = $out['Hitpoints']['level'];
$hitpointsexp = $out['Hitpoints']['xp'];
$hitpointspercent = ($hitpointsexp / $overallexp) * 100;
$rangedrank = $out['Ranged']['rank'];
$rangedlevel = $out['Ranged']['level'];
$rangedexp = $out['Ranged']['xp'];
$rangedpercent = ($rangedexp / $overallexp) * 100;
$prayerrank = $out['Prayer']['rank'];
$prayerlevel = $out['Prayer']['level'];
$prayerexp = $out['Prayer']['xp'];
$prayerpercent = ($prayerexp / $overallexp) * 100;
$magicrank = $out['Magic']['rank'];
$magiclevel = $out['Magic']['level'];
$magicexp = $out['Magic']['xp'];
$magicpercent = ($magicexp / $overallexp) * 100;
$cookingrank = $out['Cooking']['rank'];
$cookinglevel = $out['Cooking']['level'];
$cookingexp = $out['Cooking']['xp'];
$cookingpercent = ($cookingexp / $overallexp) * 100;
$woodcuttingrank = $out['Woodcutting']['rank'];
$woodcuttinglevel = $out['Woodcutting']['level'];
$woodcuttingexp = $out['Woodcutting']['xp'];
$woodcuttingpercent = ($woodcuttingexp / $overallexp) * 100;
$fletchingrank = $out['Fletching']['rank'];
$fletchinglevel = $out['Fletching']['level'];
$fletchingexp = $out['Fletching']['xp'];
$fletchingpercent = ($fletchingexp / $overallexp) * 100;
$fishingrank = $out['Fishing']['rank'];
$fishinglevel = $out['Fishing']['level'];
$fishingexp = $out['Fishing']['xp'];
$fishingpercent = ($fishingexp / $overallexp) * 100;
$firemakingrank = $out['Firemaking']['rank'];
$firemakinglevel = $out['Firemaking']['level'];
$firemakingexp = $out['Firemaking']['xp'];
$firemakingpercent = ($firemakingexp / $overallexp) * 100;
$craftingrank = $out['Crafting']['rank'];
$craftinglevel = $out['Crafting']['level'];
$craftingexp = $out['Crafting']['xp'];
$craftingpercent = ($craftingexp / $overallexp) * 100;
$smithingrank = $out['Smithing']['rank'];
$smithinglevel = $out['Smithing']['level'];
$smithingexp = $out['Smithing']['xp'];
$smithingpercent = ($smithingexp / $overallexp) * 100;
$miningrank = $out['Mining']['rank'];
$mininglevel = $out['Mining']['level'];
$miningexp = $out['Mining']['xp'];
$miningpercent = ($miningexp / $overallexp) * 100;
$herblorerank = $out['Herblore']['rank'];
$herblorelevel = $out['Herblore']['level'];
$herbloreexp = $out['Herblore']['xp'];
$herblorepercent = ($herbloreexp / $overallexp) * 100;
$agilityrank = $out['Agility']['rank'];
$agilitylevel = $out['Agility']['level'];
$agilityexp = $out['Agility']['xp'];
$agilitypercent = ($agilityexp / $overallexp) * 100;
$thievingrank = $out['Thieving']['rank'];
$thievinglevel = $out['Thieving']['level'];
$thievingexp = $out['Thieving']['xp'];
$thievingpercent = ($thievingexp / $overallexp) * 100;
$slayerrank = $out['Slayer']['rank'];
$slayerlevel = $out['Slayer']['level'];
$slayerexp = $out['Slayer']['xp'];
$slayerpercent = ($slayerexp / $overallexp) * 100;
$farmingrank = $out['Farming']['rank'];
$farminglevel = $out['Farming']['level'];
$farmingexp = $out['Farming']['xp'];
$farmingpercent = ($farmingexp / $overallexp) * 100;
$runecraftrank = $out['Runecraft']['rank'];
$runecraftlevel = $out['Runecraft']['level'];
$runecraftexp = $out['Runecraft']['xp'];
$runecraftpercent = ($runecraftexp / $overallexp) * 100;
$hunterrank = $out['Hunter']['rank'];
$hunterlevel = $out['Hunter']['level'];
$hunterexp = $out['Hunter']['xp'];
$hunterpercent = ($hunterexp / $overallexp) * 100;
$constructionrank = $out['Construction']['rank'];
$constructionlevel = $out['Construction']['level'];
$constructionexp = $out['Construction']['xp'];
$constructionpercent = ($constructionexp / $overallexp) * 100;
$summoningrank = $out['Summoning']['rank'];
$summoninglevel = $out['Summoning']['level'];
$summoningexp = $out['Summoning']['xp'];
$summoningpercent = ($summoningexp / $overallexp) * 100;
}
function combatLevel($attack, $defence, $strength, $hitpoints, $prayer, $ranged, $magic, $summoning) {
$base = ($defence + $hitpoints + floor($prayer / 2) + floor($summoning / 2)) * 0.25;
$melee = ($attack + $strength) * 0.325;
$ranger = floor($ranged * 1.5) * 0.325;
$mage = floor($magic * 1.5) * 0.325;
return $base + max($melee, $ranger, $mage);
}
mysql_query("INSERT INTO $tables (attack, defence, strength, hitpoints, ranged, prayer, magic, cooking, woodcutting, fletching, fishing, firemaking, crafting, smithing, mining, herblore, agility, thieving, slayer, farming, runecraft, hunter, construction, summoning)
VALUES ('$attackexp', '$defenceexp', '$strengthexp', '$hitpointsexp', '$rangedexp', '$magicexp', '$prayerexp', '$cookingexp', '$woodcuttingexp', '$fletchingexp', '$fishingexp', '$firemakingexp', '$craftingexp', '$smithingexp', '$miningexp', '$herbloreexp', '$agilityexp', '$thievingexp', '$slayerexp', '$farmingexp', '$runecraftexp', '$hunterexp', '$constructionexp', '$summoningexp')");
mysql_close();
Please don't let that put you off- it works fine. As you can see, where you see "$tables" is where the table name should be. I need to repeat all of that code for each instance of "$tables".
Problem: I don't know PHP well enough to use 'while' properly. I also think the complexity of that code may cause problems, what with all the curly brackets already there.
Thanks in advance, mrrsman