Помогите сделать вывод в несколько колонок

Тема в разделе "PHP", создана пользователем digital7, 15 ноя 2011.

Модераторы: latteo
  1. digital7

    digital7 Создатель

    Регистр.:
    25 сен 2011
    Сообщения:
    44
    Симпатии:
    7
    Имеется такой код (вывод категорий и подкатегорий в них)

    PHP:

    $os_text
    ="";
    $os_text.="<div class='block_category_list' >";
    $os_text.="<div class='zagol_block_category_list'>Категории</div>";
    $os_text.="<div class='text_block_category_list'>";
    $first_td=true;
    foreach (
    $this->mas_category as $category)
      {
      
       
    $os_text.="<div><li><a href=''>".$category["name"]."</a><ul>";
       foreach (
    $this->mas_podcategory as $podcategory)
         {
          if (
    $category["id_category"]==$podcategory["n_category"])
             {
               
    $db_query "select count(*) from ".DB_PREF."advert advert where n_category = ".$podcategory["id_category"]." and hide = 'show' and end_putdate > ".$GLOBALS["timeGlobal"]." "
               
    .$this->add_db_query_country().$this->add_db_query_region().$this->add_db_query_city();
               
    $kolvo obr_db_query_count($db_query);
               
    $os_text.="<li ><a href='".$this->dir_http."/category".$podcategory["id_category"]."/'>".$podcategory["name"]." </a> ".$kolvo."";
             }
          
         }
       
    $os_text.="</li></ul></li></div>";
      
      }

    $os_text.="</div></div>";

    $text=$os_text;

    Итого получаем вывод типа


    -Категория 1
    --Подкатегория 1
    --Подкатегория 2
    Категория 2
    --Подкатегория 1
    --Подкатегория 2


    итак до бесконечности вниз пока не кончатся категории
    ВОПРОС - как сделать вывод в несколько столбиков? Например в 3
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.037
    Симпатии:
    702
    считаешь общее количество категории или подкатегорий делишь на 3 и исходя из этого условия выводишь разделитель на колонки div или td если таблица
     
    digital7 нравится это.
  3. digital7

    digital7 Создатель

    Регистр.:
    25 сен 2011
    Сообщения:
    44
    Симпатии:
    7
    спасибо за ответ, можете показать в виде кода?
     
  4. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.037
    Симпатии:
    702
    примерно так
    PHP:
    <?php
    echo '<table><tr><td>';
    $count count($array);
    $count_field=round($count/3);$td=0;
    foreach(
    $array as $string){
    echo 
    $string['name']; //выводим данные из массива
    $td++;
    if(
    $td>=$count_field){echo '</td><td>';$td=0;}
    }
    echo 
    '</td></tr></table>';
     
    digital7 нравится это.
  5. digital7

    digital7 Создатель

    Регистр.:
    25 сен 2011
    Сообщения:
    44
    Симпатии:
    7
    Код заработал, но он теперь создает бесконечное количество столбиков с категориями, а надо, допустим, всего 3, как здесь быть?
     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.037
    Симпатии:
    702
    что значит
    сколько у вас всего категорий можете вывести скриптом и посмотреть сколько получится при делении на 3?