Вывести с группировкой данные MY SQL через PHP

163
29 марта 2018, 09:36

Доброго времени суток! Проблема такая: Есть таблица в БД:

id  | format | address | factory | phonezav | phonegor | fio | status |

Мне надо вывести ее сгруппировав по полю factory. т.е выводим заголовок(Одна строка) или одну строку а ниже все кто входят в этот Как так вывести элементы через PHP?

Просто вывод данных

<?
while (($row = $result->fetch_assoc())!= false):                 
    echo   '<tbody>
         <tr>
            <td>'.$row['format'].'</td>
            <td>'.$row['address'].'</td>
            <td>'.$row['factory'].'</td>
            <td>'.$row['phonezav'].'</td>
            <td>'.$row['phonegor'].'</td>
            <td>'.$row['fio'].'</td>';
    endwhile;
?>
Answer 1

Используйте обычный ORDER BY. Тогда все одинаковые factory у вас будут идти подряд. И Вам останется только текущий factory с предыдущим, чтобы узнать не сменилась ли группа

$res = $con->query('SELECT * FROM mytable ORDER BY factory');
if (!$res)
  die($con->error);
$oldFactory = '';
while ($row = $res->fetch_assoc()) {
  if ($res['factory'] !== $oldFactory) {
    printf('<tr><td>%s</td></tr>', $res['factory']);
    $res['factory'] = $oldFactory;
  }
  echo '<tr>
    <td>'.$row['format'].'</td>
    <td>'.$row['address'].'</td>
    <td>'.$row['factory'].'</td>
    <td>'.$row['phonezav'].'</td>
    <td>'.$row['phonegor'].'</td>
    <td>'.$row['fio'].'</td></tr>';
}
READ ALSO
Как именно происходит работа с Boost:Multiprecision:cpp_bin_float?

Как именно происходит работа с Boost:Multiprecision:cpp_bin_float?

Что представляют из себя числа cpp_bin_float в памяти? Как происходят математические операции с ними?

202
Возведение в большие степени матрицу по модулю

Возведение в большие степени матрицу по модулю

Стоит задача возвести матрицу в большую степень по модулюПримерно как возводить матрицу в степень я понимаю, но если степень большая, то это...

229
std::string и std::initializer_list

std::string и std::initializer_list

Есть невероятно простой код:

203