Формат вывода.

phpusershik

Using PHP
Формат вывода.

Маленкие проблемчики, просто уже голова не варит:
есть такой выборка и выводит данных из rnum-а и всё это на одной строке и до бесконечночти удлиняется вправо.

echo "<table>";
echo "<tr>";
$sql = "SELECT rnum FROM rnote GROUP by rnum";
$result = @mysql_query($sql,$db);
for ($i = 0; $i < @mysql_num_rows($result); $i++) {
$rnum = @mysql_result($result, $i, "rnum");
$rpart = @mysql_result($result, $i, "rpart");
echo "<td width=\"50%\" align=\"center\"><a href=\"rnhis_dat.php?rnum=$rnum\">$rnum</a></td>";
}
echo "</tr>";

echo "</table><br>";

А как можно зделать что-бы было несколько строк и на каждой по десять выводов из rnum-а?
Заранее Благодарен.
 

Panchous

Павел
тогда твой вопрос звучит как издевательство...

если знаешь HTML - неуели трудно желаемую таблицу нарисовать?
 

phpusershik

Using PHP
Да, очень легко НО если ты знаеш заранее сколько у тебя будет ячеек (столбцов). А здесь со временем нарастают ячейки....
 

Panchous

Павел
несколько строк и на каждой по десять выводов
ты же сам сказал, что кол-во ячеек в строке известно,
а кол-во строк знать и не надо - будь сколько будет

А здесь со временем нарастают строки
в твоем примере этого не видно - ты о чем?
 

ivan52

d-i-d grafix
тогда width=100%
или можно сделать чтобы таблица удлинялась вниз а не вправо!
 

phpusershik

Using PHP
Да если ты рукой зделаеш по 10 штук ячеек но на всех значение будет их копиями.
Мне надо что-бы автоматически увеличиваясь кол ячеек достигая десяти - автоматически переходил на новую строку и продолжалось опять до десяти и опять переходил.
 

Panchous

Павел
Сусанин, а ты это к чему?

phpusershik
ну так и делай - тем более, что алгоритм уже придумал)
ставишь счеткик на 0
если счетчик==0 выводи <tr>
если счетчик==10 выводи </tr>
и инкременть его в цикле...
 

phpusershik

Using PHP
Автор оригинала: ivan52
тогда width=100%
или можно сделать чтобы таблица удлинялась вниз а не вправо!
Да можно достичь вниз если поменять место последнего закрывающей скобки и поставить его так:

echo "<table>";
echo "<tr>";
$sql = "SELECT rnum FROM rnote GROUP by rnum";
$result = @mysql_query($sql,$db);
for ($i = 0; $i < @mysql_num_rows($result); $i++) {
$rnum = @mysql_result($result, $i, "rnum");
$rpart = @mysql_result($result, $i, "rpart");
echo "<td width=\"50%\" align=\"center\"><a href=\"rnhis_dat.php?rnum=$rnum\">$rnum</a></td>";
echo "</tr>";
}
echo "</table><br>";

Но мне не надо что-бы сплошной влево или вправо а по 10 или влево или вправо.
 

phpusershik

Using PHP
Автор оригинала: Panchous
Сусанин, а ты это к чему?

phpusershik
ну так и делай - тем более, что алгоритм уже придумал)
ставишь счеткик на 0
если счетчик==0 выводи <tr>
если счетчик==10 выводи </tr>
и инкременть его в цикле...
Но я уже почти завись но если можно на моем примере пожалуйста покажи.
 

Panchous

Павел
эх...
PHP:
$counter=0;
while(...) {
if($counter==0) echo"<tr>";
echo "<td>".ДАННЫЕ."</td>";
$counter++;
if($counter==10) {echo"</tr>"; $counter=0;}
}
 

Мутник

Новичок
Panchous


тока наверное лучше все же будет:

PHP:
if ($count == 0) echo "</tr><tr>";
а перед циклом непосредственно открыть и закрыть TR... на одну проверку меньше.
 

Panchous

Павел
Мутник
не мути воду.

человеку и так не понятно, как строки перевести...
так читабельнее...
 

phpusershik

Using PHP
Автор оригинала: Panchous
эх...
PHP:
$counter=0;
while(...) {
if($counter==0) echo"<tr>";
echo "<td>".ДАННЫЕ."</td>";
$counter++;
if($counter==10) {echo"</tr>"; $counter=0;}
}
Я зделал так но он первую строку выводит десять а на втором все остальные то еть 18. То есть на второй строчке он не считает количество ячеек?
echo "<table>";
$counter=0;
while($counter <= 10) {
if($counter==0) echo"<tr>";

$sql = "SELECT rnum FROM rnote GROUP by rnum";
$result = @mysql_query($sql,$db);
for ($i = 0; $i < @mysql_num_rows($result); $i++) {
$rnum = @mysql_result($result, $i, "rnum");
$rpart = @mysql_result($result, $i, "rpart");

echo "<td align=\"center\"><a href=\"rnhis_dat.php?rnum=$rnum\">$rnum</a></td>";
$counter++;
if($counter==10) {echo"</tr>";
}
}
}
echo "</table><br>";
 

Panchous

Павел
Я сдаюсь!!!
Уважаемые модераторы, предлагаю пополнить раздел ЮМОРа...

-~{}~ 18.03.05 18:22:

phpusershik
ты сам то понял чего написал?

Может про HTML ты и слышал, но вот с программированием явно не знаком :) :) :)

-~{}~ 18.03.05 18:27:

PHP:
echo "<table>";

$counter=0; 

$sql = "SELECT rnum FROM rnote GROUP by rnum";
$result = @mysql_query($sql,$db);

for ($i = 0; $i < @mysql_num_rows($result); $i++) {
     $rnum = @mysql_result($result, $i, "rnum");
     $rpart = @mysql_result($result, $i, "rpart");

      if($counter==0) echo"<tr>"; 

      echo "<td width=\"50%\" align=\"center\"><a href=\"rnhis_dat.php?rnum=$rnum\">$rnum</a></td>";

      $counter++; 
      if($counter==10) {echo"</tr>"; $counter=0;} 
}

if($counter {echo"</tr>";} 

echo "</table><br>";
 

phpusershik

Using PHP
Автор оригинала: Panchous
Я сдаюсь!!!
Уважаемые модераторы, предлагаю пополнить раздел ЮМОРа...

-~{}~ 18.03.05 18:22:

phpusershik
ты сам то понял чего написал?

Может про HTML ты и слышал, но вот с программированием явно не знаком :) :) :)

-~{}~ 18.03.05 18:27:

PHP:
echo "<table>";

$counter=0; 

$sql = "SELECT rnum FROM rnote GROUP by rnum";
$result = @mysql_query($sql,$db);

for ($i = 0; $i < @mysql_num_rows($result); $i++) {
     $rnum = @mysql_result($result, $i, "rnum");
     $rpart = @mysql_result($result, $i, "rpart");

      if($counter==0) echo"<tr>"; 

      echo "<td width=\"50%\" align=\"center\"><a href=\"rnhis_dat.php?rnum=$rnum\">$rnum</a></td>";

      $counter++; 
      if($counter==10) {echo"</tr>"; $counter=0;} 
}

if($counter {echo"</tr>";} 

echo "</table><br>";
Но на предпоследней строке ты забыл приравнять к десяти :)

if($counter==10) {echo"</tr>";}

Спасибо огромное ты помог мне. Благодарен тебе :)
 

phpusershik

Using PHP
Автор оригинала: Panchous
не забыл - так надо (просто поверь наслово)

-~{}~ 18.03.05 18:44:

лучше if($counter && $counter!=10) {echo"</tr>";}
:) Шутиш

Но когда он был так if($counter {echo"</tr>";}
выдавалось ерор парсера
а как я поставил десять то все ОК.
 
Сверху