IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Для профессионалов (http://www.imho.ws/forumdisplay.php?f=91)
-   -   Сортировка полей в таблице (http://www.imho.ws/showthread.php?t=100882)

Mr.Vector! 15.03.2006 12:52

Сортировка полей в таблице
 
Короче требуется, чтобы массив можно было вывести в таблице с сортировкой по вертикали
парился-парился... кто-то с форума помог.
Теперь возникла проблема.
Нужно, чтобы помимо строк также можно было указать количество столбцов.
Допустим введем $rws = 20;
И скрипт выведет все в один столбец.
Мне же нужно, чтобы если мы задали $cols = 4, то приоритет шел на количество столбцов, а не строк и он показал таблицу с четырьмя столбцами...

Вот код:
Код:

$alls[0] = "первое значение";
$alls[1] = "второе значение";
$alls[2] = "третье значение";
$alls[3] = "четвертое значение";
$alls[4] = "пятое значение";
$alls[5] = "шестое значение";
$alls[6] = "седьмое значение";
$alls[7] = "восьмое значение";
$alls[8] = "девятое значение";
$alls[9] = "десятое значение";
$alls[10] = "последнее значение";

$kol=@alls;
$i;
$rws = 4; #количество строк таблицы
#$cols = 4; #количество столбцов таблицы

print("\n<TABLE BORDER=1>");
#рисуем табличку с данными из массива
for($stroka=0; $stroka<$rws; $stroka++){
    print("\n<TR>");
          for($i=$stroka; $i<=$kol; $i=$i+$rws)
          {
          print("<TD>$alls[$i]</TD>");
          }
    print("</TR>\n");
}

print("\n</TABLE>");

вроде понятно изложил.
Есть варианты? :rolleyes:

SergoZD 15.03.2006 12:59

Mr.Vector!
Нужно сортировку прикрутить?
Чтобы сортировка как шла?
Код:

1 2 3
4 5 6
7 8 9

или
Код:

1 4 7
2 5 8
3 6 9

?

Mr.Vector! 15.03.2006 13:02

второе.
она сейчас так и работает...
но нельзя явно задать количество столбцов.

SergoZD 15.03.2006 13:07

PHP код:

<?
$alls
[0] = "первое значение";
$alls[1] = "второе значение";
$alls[2] = "третье значение";
$alls[3] = "четвертое значение";
$alls[4] = "пятое значение";
$alls[5] = "шестое значение";
$alls[6] = "седьмое значение";
$alls[7] = "восьмое значение";
$alls[8] = "девятое значение";
$alls[9] = "десятое значение";
$alls[10] = "последнее значение";

$kol=sizeof($alls);
$rws 4#количество строк таблицы
$cols 4#количество столбцов таблицы

print("<TABLE BORDER=1>");
for(
$i=0;$i<$rws$i++) 

    print(
"<TR>"); 
    for(
$j=0$j<$cols$j++) 
    { 
        
$num=($i+$j*($rws)); 
        if (
$num<$kol)
        { 
            print(
"<TD>$alls[$num]</TD>"); 
        }
        else
        {
            print(
"<TD>&nbsp;</TD>"); 
        } 
    } 
    print(
"</TR>");
}  

print(
"</TABLE>");
?>


Mr.Vector! 15.03.2006 13:30

не работает.
1. после $j=0 пропущено ;
2. где здесь я задам $cols ?

сорри про cols понял.
вместо цифры 3, но все равно не работает!

зациклилось все ...

вместо $alls[] ты хотел сказать $alls[$num] ???

SergoZD 15.03.2006 13:38

Ага, наглючил там малось. Редактировал по ходу. Представленный выше вариант работает =)


Часовой пояс GMT +4, время: 15:21.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.