|
|
|
|
$i = 1;
while($kat = mysql_fetch_array($q))
{
echo '<a href="index.php?id='.$kat['id'].'">'.$kat['name'].'</a>
if(($i/3)==is_integer($i/3)){
echo '<br/>';}
$i++;
}
|
На другом форуме меня за такой код обзывают дибилом. Разве так if(($i/3)==is_integer($i/3)) не правильно? | |
|
|
|
|
|
|
|
для: BlueWolf
(02.02.2011 в 22:08)
| | Давайте начнем с того, что вы сами хотели сделать? А "правильно"/"неправильно" оставим пока что. | |
|
|
|
|
|
|
|
для: neadekvat
(02.02.2011 в 22:17)
| | через каждые 3 ссылки должна появляться <br/> | |
|
|
|
|
|
|
|
для: BlueWolf
(02.02.2011 в 22:19)
| | Ну, вы были близки к решению:
<?php
$i = 1;
while($kat = mysql_fetch_array($q))
{
echo '<a href="index.php?id='.$kat['id'].'">'.$kat['name'].'</a>';
if (is_int($i / 3))
echo '<br/>';
$i++;
}
|
P.S. is_integer - это алиас функции is_int.
P.P.S. Используйте решение приведенное Шляпой - по остатку проверять, конечно же, лучше. Забылся. | |
|
|
|
|
|
|
|
для: BlueWolf
(02.02.2011 в 22:08)
| | ну во-первых правильно, а во-вторых:
// <?php
$i = 1;
while($kat = mysql_fetch_array($q))
{
echo '<a href="index.php?id='.$kat['id'].'">'.$kat['name'].'</a>';
if ($i % 3 == 0) {
echo '<br>';
}
++$i;
}
|
[поправлено модератором] | |
|
|
|
|
|
|
|
для: BlueWolf
(02.02.2011 в 22:08)
| | если бы Вы вместо is_integer написали intval , то это бы заработало.
Коряво несколько, но заработало.
Но в принципе, в таких случаях не пытаются смотреть на частное от деления.
Обычно смотрят на остаток.
Тем более, что для этого и операция в языке есть. $i % 3 | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2011 в 22:34)
| | У меня и с is_integer прекрасно работает=)
Спасибо за ответ. | |
|
|
|
|
|
|
|
для: BlueWolf
(02.02.2011 в 22:40)
| | Работает. Но
1. лишь в том случае, когда $i не начинается с нуля. Вернее - не включает нуль.
2. вследствие правил весьма запутанных, и уж всяко не по тем соображениям, по которым Вы этот код сочинили.
Кроме того, эти запутанные правила выполняются только в php. В других родственных языках этот код потерпит фиаско. | |
|
|
|