Итого из подсчета двух разных таблиц

1

У меня проблема с тем, что мои результаты ведут себя правильно. У меня есть два вопроса: один для получения всей информации о клубах в таблице, а другой - для подсчета всех членов каждого клуба в указанной таблице.

Проблема в том, что общее число отображается некорректно, после последней ячейки на столе, а не рядом, как будто я собираюсь отобразить ее.

Вот как это выглядит:

Изображение 174551 Изображение 174551

И вот мои запросы:

Для стола

$sql = "SELECT id, nombreClub, liderVoluntario, region, municipio, oficinaLoc
FROM club4h
ORDER BY region, oficinaLoc";

Для итогов

    $sql = "SELECT count(soc.nombreClub)
            FROM socios  as soc
            RIGHT OUTER JOIN club4h as club
            ON soc.nombreClub = club.nombreClub
            GROUP BY club.id";

И код того, как я отображаю таблицу

<table>
  <?php 
$name = '';
$filler = '';


echo '<tr>
<th>Regi&oacute;n</th>
<th>Unidad Program&aacute;tica</th>
<th>Nombre Club</th>
<th>Lider Voluntario</th>
<th>Localizaci&oacute;n Club</th>
<th>Total Socios</th>
</tr>';

foreach($result as $key=>$row){
echo'<tr>
<td>'.ucfirst($row['region']).'</td>';


if(($row['id']) !=$filler) echo 
'<td>'.ucfirst($row['oficinaLoc']).'</td>';
$filler = $row['id'];

echo '<td>'.ucfirst($row['nombreClub']).'</td>
<td>'.ucfirst($row['liderVoluntario']).'</td>
<td>'.ucfirst($row['municipio']).'</td>';
}

include_once 'sociocount.php';
foreach($memberSearch as $total){
echo '<td>'.$memberSearch[$i][0].'</td>
</tr>';
$i++;
}
?>
</table>

Можно ли это сделать в одном запросе? Или что я делаю неправильно, что это заставляет его отображаться так?

  • 0
    Да, вы можете сделать это в одном запросе. В основном это - SELECT SUM ( members ), club FROM table GROUP BY club
Теги:
html-table
mysqli
count

1 ответ

1
Лучший ответ

вы можете выбрать все в одном запросе, вот пример:

SELECT
    id,
    nombreClub,
    liderVoluntario,
    region,
    municipio,
    oficinaLoc,
    (select count(*) from socios as soc where soc.nombreClub=c.nombreClub) as memberCnt
FROM club4h as c
ORDER BY region, oficinaLoc
  • 0
    Большое спасибо, у меня была идея и я попробовал подобный запрос, но допустил ошибку в разделе ОТ. еще раз спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню