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, because i just dont know where to go from here.
Thanks for listening. 🙂