Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Вывод данных в столбцах
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 »   

> Описание: Как правильно написать цикл ??
WetlanD
Отправлено: 05 Мая, 2005 - 07:25:01
Post Id



Newbie


Покинул форум
Сообщений всего: 25
Дата рег-ции: Февр. 2005  
Откуда: Москва

Карма 0




Здраствуйте,
Уважаемые ДОКИ!!
Есть проблемка, сам не могу решить, вывожу даннвые этим кодом:
CODE:

$query="SELECT * FROM db";
$result=mysql_query($query);
while ($row=mysql_fetch_array($result, MYSQL_NUM)){
echo "<font color=\"#008000\">$row[1]</font><BR>";
}


но немогу разобраться с тем как написать цикл чтобы получить в результате:

строка1 строка4 строка7
строка2 строка5 строка8
строка3 строка6 строка9

естественно количество строк будет меняться с наполнением базы но количество столбцов должно прописываться жестко...

Спасибо за помощь )
 
 Top
chiv
Отправлено: 05 Мая, 2005 - 10:16:36
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




WetlanD
Цитата:
естественно количество строк будет меняться с наполнением базы но количество столбцов должно прописываться жестко...

Непонятно спрашиваешь. Что ты имеешь ввиду под количеством строк?
Я так понял:
строка1 строка5 строка9
строка2 строка6 строка10
строка3 строка7
строка4 строка8

Если так, то алгоритм следующий:
Кол-во эл-тов (строкаi - для определённости I) делишь (с округлением до целого в большую сторону) на кол-во столбцов (3) получаешь число (для определённости N). Далее сам цикл:Улыбка
CODE:
для (J=1, J<=N, J++)
{
<tr>
<td>строкаJ</td>
<td>строкаJ+N</td>
<td>строкаJ+2N</td>
</tr>
}

Примерно такЯзычок
 
 Top
WetlanD
Отправлено: 05 Мая, 2005 - 12:52:43
Post Id



Newbie


Покинул форум
Сообщений всего: 25
Дата рег-ции: Февр. 2005  
Откуда: Москва

Карма 0




Логику то я понимаю )))
я написать не могу )) с функциями и операторами както плоховато.... а плохое знание английского ... вобщем транслейт.ру не очень помогает..... мнебы простенький пример чтобы поковырять и разобраться что к чему )) но рабочий пример )))\n\n(Добавление)
мне тут набросали код на скорую руку, вто только ругается на
CODE:
$strok=bcdiv($rows, $stolb, 0);


пишет : Fatal error: Call to undefined function: bcdiv()


CODE:

$query="SELECT * FROM db";
$result=mysql_query($query);
$rows=mysql_num_rows($result);
for ($i = 0; $i < $rows; $i++) $arr[] = mysql_fetch_array($result, MYSQL_NUM);
$stolb=3;
$strok=bcdiv($rows, $stolb, 0);
for ($i = 0; $i <= $strok; $i++) {
echo "<tr>";
for ($j = 0; $j <= $stolb; $j++) {
echo "<td>". $arr[$i*$stolb+$j]."</td>";
}
echo "</tr>\n";
}


Подскажите, плиззз можноли какнить поправить ?? ))
 
 Top
-=DeNNiS=-
Отправлено: 05 Мая, 2005 - 13:39:53
Post Id



Newbie


Покинул форум
Сообщений всего: 32
Дата рег-ции: Сент. 2004  

Карма 0




Ты в своем коде перевод строки забыл сделать!
CODE:
for($i=0;$i<=$strok;){
echo '<tr>';
for($j=1;$j<=$stolb;$j++){
echo '<td>строка '.$i.'</td>';
$i++;
}
echo '</tr> ';
}

Если не ошибаюсь
 
 Top
WetlanD
Отправлено: 05 Мая, 2005 - 16:12:31
Post Id



Newbie


Покинул форум
Сообщений всего: 25
Дата рег-ции: Февр. 2005  
Откуда: Москва

Карма 0




-=DeNNiS=- пишет:
Ты в своем коде перевод строки забыл сделать!


а при чем тут тогда : Fatal error: Call to undefined function: bcdiv()

ТвойВеб помоги плиззПоклон
 
 Top
TvoyWeb Администратор
Отправлено: 05 Мая, 2005 - 17:24:51
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




WetlanD пишет:
а при чем тут тогда : Fatal error: Call to undefined function: bcdiv()

Так у тебя не определена функция bcdiv(), вот PHP и ругается!
Чуть позже покажу как это делаю я.
 
 Top
TvoyWeb Администратор
Отправлено: 06 Мая, 2005 - 00:17:22
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




WetlanD
Держи.
CODE:
$result = mysql_query("SELECT * FROM `test`");
$num = mysql_num_rows($result);//сколько всего записей получено из таблицы

$cols = 3;//сколько столбцов
$rows = ceil($num/$cols);//сколько строк в таблице
$cell = $rows*$cols;// сколько должно быть ячеек в таблице
$v = 1;
echo "<table width=\"300\" border=\"1\" cellspacing=\"0\" cellpadding=\"1\">\n";
while ($cell>0){
$tempcell = "cell_".$v; ;
if($row = mysql_fetch_row($result)){
$$tempcell = $row[0];
} else {
$$tempcell = "&nbsp;";
}
$v++;
if ($v > $cols){
$v = 1;
echo "<tr>
<td>$cell_1</td>
<td>$cell_2</td>
<td>$cell_3</td>
</tr>";
}
$cell--;
}
echo "</table>";
mysql_free_result($result);
 
 Top
chiv
Отправлено: 06 Мая, 2005 - 03:08:29
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




WetlanD
Вот ещё:
CODE:
$query="SELECT * FROM db";
$result=mysql_query($query);
$rows=mysql_num_rows($result);
$stolb=3;
$strok=ceil($rows/$stolb);
$arr[]=0;
for ($a=0; $a<$rows; $a++)
{
$row = mysql_fetch_row($result);
array_push ($arr, $row);
}
echo "<table width=\"300\" border=\"1\" cellspacing=\"0\" cellpadding=\"1\">\n";
for ($i = 1; $i <= $strok; $i++)
{
echo "<tr>";
for ($j = 0; $j < $stolb; $j++)
{
$n=$i+$strok*$j;
echo "<td>";
if ($arr[$n] != 0) echo "$arr[$n]";
else echo "&nbsp;";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";

Должно работать, но не проверялПодмигивание
 
 Top
WetlanD
Отправлено: 09 Мая, 2005 - 15:13:00
Post Id



Newbie


Покинул форум
Сообщений всего: 25
Дата рег-ции: Февр. 2005  
Откуда: Москва

Карма 0




chiv
Спасибо , работает только на половину , И весь результат сплошной Array Огорчение


TvoyWeb
Спасибо !
код работает, только он распологает результаты построчно, с лева на право, выстраивая в столбцы, а мне надо чтоб результаты выводились в столбцаз, а уж потом эти столбцы выстраивались ...
Но все равно Огромное спасибо!По пиву!
 
 Top
TvoyWeb Администратор
Отправлено: 09 Мая, 2005 - 15:33:23
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




WetlanD пишет:
чтоб результаты выводились в столбцаз, а уж потом эти столбцы выстраивались ...

Это еще что за извращение такое? Для чего тебе так делать?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0379]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33