как сделать вывод в несколько столбиков?

Статус
В этой теме нельзя размещать новые ответы.

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Как можно информацию выводить в два столбика? Например, заголовки новостей нужно вывести в N столбиков...
 
Это ответ на первый вопрос (в два столбика:(
На второй вопрос дайте данные, а то вопрос абстрактен! :smmne:
Хотя берете код выше и загоняете <td>...</td> в цикл по количеству N и получаете количество столбиков.
 
2 t0wer
Я так понял, ТС'у нужно тупо выводить заголовки новостей в столбцах, типа:
Новость 1 | Новость 2 | Новость 3 | Новость 4
Новость 5 | Новость 6 | Новость 7 | Новость 8
PHP:
<?php
// Массив с заголовками
$data = array('Новость 1',
              'Новость 2',
              'Новость 3',
              'Новость 4',
              'Новость 5',
              'Новость 6',
              'Новость 7',
              'Новость 8',
              'Новость 9',
              'Новость 10');

// Количество столбцов
$cols = 4;

if($array_size = sizeof($data)) {
    echo '<table>';
    for($i = 0; $i < $array_size; $i++) {
        if($i % $cols == 0)
            echo '<tr>';
        echo '<td>' . $data[$i] . '</td>';
        if(($i+1) % $cols == 0)
            echo '</tr>';
    }
    echo '</table>';
}
?>
 
Вот сделал. но не хочет ничего работать. Выводит несколько раз ARRAY в столбик
<php
if(!defined("DNREAD")) exit();
global $setting,$db,$basepref;
$bt = '';
$inquiry = $db->query("SELECT * FROM ".$basepref."_reclama_cat ORDER BY posit ASC");
$catcache = array();
while($item = $db->fetchrow($inquiry)){
$catcache[$item['parentid']][$item['catid']] = $item;
}
/* ================================================== == ##
## PRINT CAT FUNCTION ##
## ================================================== == */
$cols = 2;
function print_cats($cid=0,$depth=0,$table,$last=false){
global $catcache,$sess,$lang,$cats;

if(!isset($catcache[$cid])){ return false; }
$cols = 2;
$cats .= '<table>';

foreach ($catcache[$cid] as $key => $incat)


{
if($last=="" && $incat['parentid'] > 0){ $last = $incat['parentid']; }
$cats .= "<a class=\"blockmenu\" href=\"index.php?dn=".$table."&to=cat&id=".$incat['catid']."\">".$incat['catname']."</a>";
//Кол-во колонок



for($i = 0; $i < $array_size; $i++) {
if($i % $cols == 0)
$cats .= '<tr>';
$cats .= '<td>' . $incat[$i]. '</td>';
if(($i+1) % $cols == 0)
$cats .= '</tr>';
}

echo '</table>';
print_cats($incat['catid'],$depth + 1,$table,$last);
}
unset($catcache[$cid]);
return $cats;
}
$bt .= print_cats(0,0,'reclama');
return $bt;
?>
 
Если выводит ARRAY, то надо "открыть" массив например так pritn_r
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху