Jump to content

Need 'while' help please


Vettel

Recommended Posts

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, Vettel.

Link to comment
https://forums.phpfreaks.com/topic/185346-need-while-help-please/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.