I have a MySQL database table which holds 6 types of records I need to get the total number of records for each of the types and then create a variable for each one of the results so for example
wt = 3
spv = 33
shw = 78
and so on..
I have written this code
$tquery = "SELECT equipment, COUNT(id) AS num FROM contract GROUP BY equipment";
$tresult = mysql_query($tquery) or die(mysql_error());
while($trow = mysql_fetch_array($tresult)){
echo "There are ". $trow['COUNT(id)'] ." ". $trow['equipment'] ." items.";
echo "<br />";
}
The reason for needing a variable for each type is that I need to work out a percentage value to show this data in a chart, I have written this code and it works fine as long as I have the correct data from the table.
Any help would be awesome thanks
Firstly, where you’re referencing
$trow['COUNT(id)'], this is incorrect; it should be coming back to you with the namenum(as defined in your SQL query), so you should actually be using$trow['num'].Now to store your totals:
Create an array to contain your totals. Lets call it
$total. Define it as an empty array outside thewhileloop:Then inside the loop, assign a new element for the
$totalarray containing the equipment type as the key, and the count as the value:When the loop is finished, you should then have an array containing all the totals, which you can perform calculations on. PHP provides you with the
array_sum()andcount()functions (among plenty of other handy functions) which should be enough to get you started with working out averages and percentages.hope that helps.