mrt003003 Posted May 1, 2011 Share Posted May 1, 2011 Hi there i have 2 queries one for each table that calculates values in one or more fields. The two tables are different in structure so i have had to calculate them differently: | Ship table | Class |Planet table | Class 1 Class 2 Class 3 Class 4 Depending on what type of ship is added (Class 1-4 ship) its corresponding Class is determined. The planet table is different though as it can have any number of Class 1 - 4 ships. So with help ive put the Ship query results into an array and echoed the results. The Planet query is not in an array as such as i could acheive the same results using the SUM() function. Both work fine and the outputted results look like this: Ship query 1 Class 1 4 Class 2 3 Class 3 1 Class 4 Planet query 1 Class 1 2 Class 2 4 Class 3 13 Class 4 What i really need to do now is compare each queries Class and if the planets class 1-4 < ships class 1-4 then echo the difference. For example the results would be: Class 1 = 0 echo no Class 1 needed Class 2 = - 2 echo no Class 2 needed Class 3 = +1 echo 1 Class 3 needed Class 4 = +12 echo 12 class 4 needed Im sorry if it seems longwinded or if ive not explained my self very well but im finding it difficult. Heres the code: <?php $colname_resultp = "-1"; if (isset($_SESSION['MM_Username'])) { $colname_resultp = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']); } mysql_select_db($database_swb, $swb); $query_resultp = sprintf("SELECT SUM(Class1) As Class1_totla, SUM(Class2) As Class2_totla, SUM(Class3) As Class3_totla, SUM(Class4) As Class4_totla FROM planet WHERE PlayerName = %s", GetSQLValueString($colname_resultp, "text")); $resultp = mysql_query($query_resultp, $swb) or die(mysql_error()); $row_resultp = mysql_fetch_assoc($resultp); $totalRows_resultp = mysql_num_rows($resultp); $colname_Recordset1 = "-1"; if (isset($_SESSION['MM_Username'])) { $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']); } mysql_select_db($database_swb, $swb); $query = sprintf("SELECT Class FROM ships WHERE PlayerName = %s ORDER BY Class ASC", GetSQLValueString($colname_Recordset1, "text")); $result = mysql_query($query, $swb) or die(mysql_error()); $number_of_results = array(); while($row = mysql_fetch_array($result)){ if (isset($number_of_results[$row['Class']])) { $number_of_results[$row['Class']]++; } else { $number_of_results[$row['Class']] = 1; } } foreach ($number_of_results as $class => $number_of_class) { echo $number_of_class . " Class " . $class; echo "<br />"; } <?php do { ?> <?php echo $row_resultp['Class1_totla']; echo ' Class 1'; echo'<br>'; echo $row_resultp['Class2_totla']; echo ' Class 2'; echo'<br>'; echo $row_resultp['Class3_totla']; echo ' Class 3'; echo'<br>'; echo $row_resultp['Class4_totla']; echo ' Class 4'; ?> <?php } while ($row_resultp = mysql_fetch_assoc($resultp)); mysql_free_result($result); mysql_free_result($resultp); ?> If you could please help that would be ace. Thanks for listening. Quote Link to comment https://forums.phpfreaks.com/topic/235295-the-biggie-comparing-values-and-if-a-b-statement/ Share on other sites More sharing options...
spiderwell Posted May 2, 2011 Share Posted May 2, 2011 ive not explained my self very well i cant work out the class/planet/ship deal. mostly because of this statement: Depending on what type of ship is added (Class 1-4 ship) its corresponding Class is determined. The planet table is different though as it can have any number of Class 1 - 4 ships. Quote Link to comment https://forums.phpfreaks.com/topic/235295-the-biggie-comparing-values-and-if-a-b-statement/#findComment-1209278 Share on other sites More sharing options...
mrt003003 Posted May 2, 2011 Author Share Posted May 2, 2011 Each ship thats added into the database can be either a class 1,2 3, or 4 ship (Vbig, Big, Small, Fighter). Each planet can hold a number of class 1, 2 ,3, 4 ships. So the main difference is that in the ship table the user enters the class of ship that it is. Which is then talliied up. Where as in the planet table the user enters how many class 1,2,3,4 ships it can have. I hope thats what you meant. Quote Link to comment https://forums.phpfreaks.com/topic/235295-the-biggie-comparing-values-and-if-a-b-statement/#findComment-1209348 Share on other sites More sharing options...
mrt003003 Posted May 2, 2011 Author Share Posted May 2, 2011 In the ship table a single ship and its Class is entered e.g. Ship table |ShipID: 1| |ShipName: big ship| |Class: 2| In the planet table a field is given to each class 1-4 ship and a user can enter of many of each class ships that the planet can have: PlanetID: 1| Class1: 0| Class2: 1| Class3:2| Class4: 3| Quote Link to comment https://forums.phpfreaks.com/topic/235295-the-biggie-comparing-values-and-if-a-b-statement/#findComment-1209357 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.