Построчный вывод элементов массива

Markus®

Guest
Автор оригинала: Фанат
тебе надо не хвататься за все сразу, а сначала вывести одни картинки.
а потом внутрь цикла их вывода включить еще один, который выводит цыферки
Вот и я , выспавшись и встав утром, так подумал.
Спасибо, что подтвердили мое предположение.
Пошел пробовать.
 

Фанат

oncle terrible
Команда форума
ты так и не сходил в избранное?
прежде, чем задавать следующий вопрос - сходи.
 

Markus®

Guest
Фанат
ты так и не сходил в избранное?
Ходил, но ничего подходящего не нашел. Да и потом я хотел разобраться и понять.
прежде, чем задавать следующий вопрос - сходи.
Ясное дело. Я просто не знал что такой раздел есть.
А теперь посмотрите что я сдделал и поругайте если что не так.
PHP:
<?php
$mas = array ('Январь','Февраль','Март','Апрель','Май','Июнь','Июль',
'Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
$na = count($mas);
$n1=3;
$n_1=$n1-1;
$n2=ceil(count($mas)/$n1);
$n=0;
$sp = '';
$na_1 = $na-1;
for ($i=0; $i<$n2;) {
    echo "<tr>";
    for ($k=0; $k<$n1;) {
        // Прописываем месяца
         if($k==$n_1 && $n < $na && $n != $na){$sp .= "<td>".$mas[$n]."</td></tr><tr>"; }
           elseif($k!=$n_1 && $n <= $na && $n <= $na_1){$sp .= "<td>".$mas[$n]."</td>";   }
             elseif($k==$n_1 && $n >= $na ){$sp .= "<td>&nbsp;</td></tr><tr>";  }
      else{  $sp .= "<td>&nbsp;</td>";  }
        $k++;
        $n++;
    }
   for ($k=0; $k<$n1;) {
                 // Прорисовываем ряд радио-кнопок.
         if($k==$n_1 && ($n-$n1+$k) < $na && ($n-$n1+$k) != $na){ $sp .= "<td><input name='form' type='radio' value='".$mas[$n-$n1+$k]."' onclick=\"alert('".$mas[$n-$n1+$k]."');\"></td></tr>"; }
           elseif($k!=$n_1 && ($n-$n1+$k) <= $na && ($n-$n1+$k) <= $na_1){ $sp .= "<td><input name='form' type='radio' value='".$mas[$n-$n1+$k]."' onclick=\"alert('".$mas[$n-$n1+$k]."');\"></td>";}
             elseif($k==$n_1 && ($n-$n1+$k) >= $na ){$sp .= "<td>&nbsp;</td></tr><tr>";  }
       else{ $sp .= "<td>&nbsp;</td>";}
        $k++;
    }
    $i++;
}
echo "<form><table cellpadding='10' border='1'>".$sp."</table></form><br><br>";
?>
 

Фанат

oncle terrible
Команда форума
я фигею, клава

-~{}~ 20.05.04 13:17:

откуда ты взял эту галиматью?
откуда у тебя столько дублированного кода?
$n_1=$n1-1; - это что за белиберда?

поваторяю.
берешь код бегемота по первой ссылке из избранного.
и творчески его модифицируешь, чтобы безо всей этой дикости.

-~{}~ 20.05.04 13:45:

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

и только тогда будм делать вывод второй строчки.
 

Markus®

Guest
Ок. Что сейчас не правильно?
PHP:
<?php
$mas = array ('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
$na = count($mas);
$n1=3;
$n2=ceil(count($mas)/$n1);
$n=0;
$sp = '';
for ($i=0; $i<$n2;) {
    echo "<tr>";
    for ($k=0; $k<$n1; ) {
        // Прописываем месяца
         if((($n+1)%$n1)==0 && $n < $na){$sp .= "<td>".$mas[$n]."</td></tr><tr>"; }
           elseif((($n+1)%$n1)!=0 && $n < $na){$sp .= "<td>".$mas[$n]."</td>";   }
             elseif((($n+1)%$n1)==0 && $n > $na ){$sp .= "<td>&nbsp;nnn</td></tr><tr>";  }
      else{  $sp .= "<td>&nbsp;ттт</td>";  }
        $k++;
        $n++;
        }
    $i++;
}
echo "<form><table cellpadding='10' border='1'>".$sp."</table></form>";
?>
 
Сверху