Дополнить таблицу html пустыми ячейками.

Тема в разделе "Как сделать...", создана пользователем Runapa, 11 дек 2015.

  1. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Собственно вопрос такой. Из базы данных я вставляю значения в таблицу html. Но при вставке у меня не все ячейки получаются заполнены. То есть в таблице визуально есть пропуски - ячейки не отображаются, так как <td> не генерируются там где нет значений. Как можно сделать так, чтобы таблица была полностью заполнена ячейками ? Понятно что надо сгенерировать пары <td></td>. Но вот как объяснить интерпретатору, сколько и куда генерировать, понять не могу.
     
  2. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.390
    Симпатии:
    580
    фиксированная ширина колонок, как вариант. или пустые заменять на &nbsp;
     
    Runapa нравится это.
  3. ykpon

    ykpon

    Регистр.:
    8 дек 2012
    Сообщения:
    249
    Симпатии:
    143
    <?php
    //запрос в бд, получаем массив с данными
    ?>
    ...
    <table>
    <?php foreach($array as $val:( ?>
    <tr>
    <td width="15%"><?=$val['id']?></td>
    <td width="50%"><?=$val['name']?></td>
    <td width="35%"><?=$val['date']?></td>
    </tr>
    <?php endforeach; ?>
    </table>
    ...
     
    Последнее редактирование: 15 дек 2015
  4. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    528
    Симпатии:
    246
    Смотря как ты генерируешь таблицу, если например у тебя идут столбцы (первый, второй, третий) то выводи строку со значением из бд следующим образом <td>$row['one']</td><td>$row['two']</td><td>$row['three']</td>
     
  5. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Ну для примера, получается как-то так, а надо чтобы было полностью
     

    Вложения:

    • example.png
      example.png
      Размер файла:
      148,9 КБ
      Просмотров:
      9
  6. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    528
    Симпатии:
    246
    и? ты по тому принципу что тебе выше сказали - всё сделал?
     
  7. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Вобщем сделал так:

    Запускаю дополнительно цикл, чтобы в нем получить максимальное количество выводимых <td> в одном ряду. Потом от этого числа вывожу уже саму таблицу в основном цикле.
    Вот тут у меня возник вопрос, а можно ли как-то такой код:
    PHP:
       $res array_count_values($res);
       
    $max max($res);
    запустить внутри цикла ? А то у меня не получилось, всё время данные накладываются =(
     
    Последнее редактирование: 23 дек 2015
  8. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    129
    Симпатии:
    136
    было бы неплохо увидеть полностью этот кусок кода что-бы понять что происходит.
    но в любом случае да, если количество колонок динамическое то нужно знать заранее максимальную величину перед выводом таблицы.

    не совсем понятен смысл кода выше, array_count_values - возвращает количество уникальных значений в массиве и частоту их появления, max - наибольшее значение.
    нам если я все правильно понял нужно просто найти массив с максимальным количеством элементов, это можно сделать как-то так:

    PHP:
    $max 0;
    foreach(... as 
    $res) {
       if(
    count($res) > $max$max count($res);
    }