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

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

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Вывод данных в столбцах
ТвойWeb » WebMaster класс » PHP/Perl » Вывод данных в столбцах

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

1. WetlanD - 05 Мая, 2005 - 07:25:01 - перейти к сообщению
Здраствуйте,
Уважаемые ДОКИ!!
Есть проблемка, сам не могу решить, вывожу даннвые этим кодом:
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

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

Спасибо за помощь )
2. chiv - 05 Мая, 2005 - 10:16:36 - перейти к сообщению
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>
}

Примерно такЯзычок
3. WetlanD - 05 Мая, 2005 - 12:52:43 - перейти к сообщению
Логику то я понимаю )))
я написать не могу )) с функциями и операторами както плоховато.... а плохое знание английского ... вобщем транслейт.ру не очень помогает..... мнебы простенький пример чтобы поковырять и разобраться что к чему )) но рабочий пример )))\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";
}


Подскажите, плиззз можноли какнить поправить ?? ))
4. -=DeNNiS=- - 05 Мая, 2005 - 13:39:53 - перейти к сообщению
Ты в своем коде перевод строки забыл сделать!
CODE:
for($i=0;$i<=$strok;){
echo '<tr>';
for($j=1;$j<=$stolb;$j++){
echo '<td>строка '.$i.'</td>';
$i++;
}
echo '</tr> ';
}

Если не ошибаюсь
5. WetlanD - 05 Мая, 2005 - 16:12:31 - перейти к сообщению
-=DeNNiS=- пишет:
Ты в своем коде перевод строки забыл сделать!


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

ТвойВеб помоги плиззПоклон
6. TvoyWeb - 05 Мая, 2005 - 17:24:51 - перейти к сообщению
WetlanD пишет:
а при чем тут тогда : Fatal error: Call to undefined function: bcdiv()

Так у тебя не определена функция bcdiv(), вот PHP и ругается!
Чуть позже покажу как это делаю я.
7. TvoyWeb - 06 Мая, 2005 - 00:17:22 - перейти к сообщению
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);
8. chiv - 06 Мая, 2005 - 03:08:29 - перейти к сообщению
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>";

Должно работать, но не проверялПодмигивание
9. WetlanD - 09 Мая, 2005 - 15:13:00 - перейти к сообщению
chiv
Спасибо , работает только на половину , И весь результат сплошной Array Огорчение


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

Это еще что за извращение такое? Для чего тебе так делать?

Форум на AlfaSpace.NET


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

[Script Execution time: 0.0462]     [ 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