mysql - Putting select count data into a Fetch Array Query row PHP -
i have script retrieves users same "dealership_id" "users" table, works fine. each user within these records has id (users_sales_guild_id) on table called "sales_list".
what trying list total amount of sales each user has "sales_list" table next respective user
currently prints logged in user's amount (john smith , value of 5), , not each individual amount, going wrong?
how look
name | position | sid | total sales | john smith | sales consultant | 23434 | 5 | details jane smith | sales consultant | 34234 | 9 | details john chan | sales manager | 43423 | 3 | details jane chan | sales consultant | 23344 | 7 | details
how looks
name | position | sid | total sales | john smith | sales consultant | 23434 | 5 | details jane smith | sales consultant | 34234 | 5 | details john chan | sales manager | 43423 | 5 | details jane chan | sales consultant | 23344 | 5 | details
php code
$query = "select `users_id`, `users_email` , `users_sales_guild_id` , `users_dealer_code_id` , `users_first_name` , `users_surname` , `users_dealer_name` , `users_type` , date_format(`registration_date`, '%d-%m-%y') `dr` `users` `dealership_id` = '".$_session['dealership_id']."' , (users_type = 'sales manager' or users_type = 'sales consultant') order registration_date desc"; $result = mysql_query("select * sales_list sales_list.users_sales_guild_id ='" . $_session['users_sales_guild_id'] . "'"); $num_rows = mysql_num_rows($result); $result = @mysql_query ($query); // run query. echo '<table> <tr> <td align="center">name</td> <td align="center">position</td> <td align="center">id</td> <td align="center">total sales</td> <td align="center"></td> </tr>'; $bg = '#ffffff'; // set background color. while ($row = mysql_fetch_array($result, mysql_assoc)) { $bg = ($bg=='#e1e3e6' ? '#cdcdcf' : '#e1e3e6'); // switch background color. echo '<tr bgcolor="' . $bg . '">'; echo '<td align="center">' . $row['users_first_name'] . ' ' . $row['users_surname'] . ' </td>'; echo '<td align="center">' . $row['users_type'] . '</td>'; echo '<td align="center">' . $row['users_sales_guild_id'] . '</td>'; echo '<td align="center">' . $num_rows . '</td>'; echo '<td align="center"><a href="sm-sales-ind-2.php?smid=' . $row['users_id'] . '">details</td>'; } echo '</table>'; mysql_free_result ($result); // free resources. mysql_close(); // close database connection. ?>
you'd have add subquery or join sql, similar to:
join:
select name, count(sales_list.*) salesman join sales_list on salesman.id = sales_list.salesman_id group salesman.id
subquery:
select name, (select count(*) sales_list salesmen.id = sales_list.salesman.id) sales_count salesmen
then can use $row['sales_count']
in output
the $num_rows
refers number of rows returned, doesn't contain specific counts of sales per user
Comments
Post a Comment