Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Алфавитная сортировка в таблице по вертикали

Сообщения:  [1-10]   [11-20] 

 
 автор: sim5   (26.06.2009 в 19:39)   письмо автору
 
   для: gOFREe   (26.06.2009 в 19:03)
 

Да делайте что хотите....

  Ответить  
 
 автор: gOFREe   (26.06.2009 в 19:03)   письмо автору
 
   для: sim5   (26.06.2009 в 14:45)
 

как раз все нормально, проверил все.

  Ответить  
 
 автор: sim5   (26.06.2009 в 14:45)   письмо автору
 
   для: gOFREe   (26.06.2009 в 14:21)
 

У вас фиксированное число элементов в массиве? Тогда да. А если их будет 9, 10, 11..., тогда как?

  Ответить  
 
 автор: gOFREe   (26.06.2009 в 14:21)   письмо автору
 
   для: sim5   (25.06.2009 в 19:02)
 

Почему подгонкой? При любом варианте этот код работает.

  Ответить  
 
 автор: sim5   (25.06.2009 в 19:02)   письмо автору
 
   для: gOFREe   (25.06.2009 в 18:36)
 

Не занимайтесь "подгонкой под ответ"! Такое (как и первое) будет верно работать только в том случае, когда будет выполняться некое условие. Какое? Вы что точно знаете, и более того уверены, что число элементов в массиве позволяет так красиво его разложить?

  Ответить  
 
 автор: gOFREe   (25.06.2009 в 18:36)   письмо автору
 
   для: sim5   (25.06.2009 в 18:10)
 

Вот так все работает! ))

<?
$a 
= array('Ананас''Банан''Виноград''Грибы''Дерево''Ериван''Желток''Зелень''Изюм');
$n 4//число колонок 
$l ceil(count($a)/$n); //получем число строк в таблице (число итераций основного цикла) округляем до большего числа


for ($i=0$i<$l$i++) { //цикл определяющий число строк в таблице
  
echo "<tr>"//открываем строку
  
for($k=0$k<$n$k++){
$id=$k*$l+$i;
if (
$id>=count($a)) 
{
echo 
"<td>&nbsp;</td>";
}else{
echo 
"<td>".$a[$id]."</td>"//умножаем на число строк в таблице
}
}
echo 
"</tr>";
}
?>

  Ответить  
 
 автор: sim5   (25.06.2009 в 18:10)   письмо автору
 
   для: gOFREe   (25.06.2009 в 18:01)
 

Дажек так? И что будет?

PS. round выбросить, это не лекарство.

  Ответить  
 
 автор: gOFREe   (25.06.2009 в 18:01)   письмо автору
 
   для: sim5   (25.06.2009 в 17:49)
 

я имею ввиду это выражение: $k*$n+$i, я подумал что будет правильнее $k*$l+$i

  Ответить  
 
 автор: sim5   (25.06.2009 в 17:49)   письмо автору
 
   для: gOFREe   (25.06.2009 в 17:25)
 

Если в теле цикла (или условия) бедет одно действие, как тут - echo "<td>".$a[$k*$l+$i]."</td>";,
то можно его не обрамлять скобками. А вот если их будет два и более, то обязательно скобки нужны, иначе будет выполнено только первое из действий.

Вы думайте как определить число колонок, на которые можно разложить массив.

  Ответить  
 
 автор: gOFREe   (25.06.2009 в 17:25)   письмо автору
 
   для: sim5   (25.06.2009 в 17:01)
 

А вот так разьве не правильней?

<?
$a 
= array('Ананас''Банан''Виноград''Грибы''Дерево''Ериван''Желток''Зелень''Изюм');
$n 4//число колонок 
$l round(count($a)/$n); //получем число строк в таблице (число итераций основного цикла)


for ($i=0$i<$l$i++) { //цикл определяющий число строк в таблице
  
echo "<tr>"//открываем строку
  
for($k=0$k<$n$k++){
echo 
"<td>".$a[$k*$l+$i]."</td>"//умножаем на число строк в таблице
}
echo 
"</tr>";
?>
}

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования