Создать HTML-таблицу с переменными строками и ячейками - PullRequest
1 голос
/ 18 июня 2011

Я пытаюсь сгенерировать таблицу, которая берет данные из базы данных mysql.Есть 8 столбцов, но количество строк варьируется в зависимости от объема информации из базы данных.Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть две переменные вещи, и я не знаю, как использовать два цикла while (или, если это правильный выбор).

Приведенный ниже код может генерировать таблицу с 8 столбцами и переменным количеством строк, но я не знаю, как заменить thing последовательными целыми числами.Я бы хотел, чтобы в каждой ячейке было только одно целое число последовательно, как цикл while, пока numbers = $end.

КОД:

<?php

$end=82;  //will get all this data from a dabase
$rows=ceil($end/8);
$x=0;
$start=0;
?>
<table>
<?php
While ($x<=$rows){


echo"

        <tr>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
        <td>
            thing
        </td>
    </tr>

    ";
    $x++;
    }
?>
</table>

Ответы [ 3 ]

1 голос
/ 18 июня 2011

Я должен спросить - если вы извлекаете строки из базы данных MySQL и хотите, чтобы в вашей таблице было динамическое число строк в зависимости от данных, есть ли какая-то конкретная причина, по которой вы не делаете это обычным способом, с while loop и mysql_fetch функцией?

$data = mysql_query("SELECT row1, row2, ... , row8 FROM table WHERE ...); // Sample query, edited for brevity.

echo "<table>";

while ($result = mysql_fetch_object($data))
(
        echo "<tr>";
        echo "<td>".$data->row1."</td>;
        echo "<td>".$data->row2."</td>;
        ... // Edited for brevity. Include as many columns as you queried.
        echo "<td>".$data->row8."</td>;
        echo "</tr>";
}

echo "<table>";

Если у вас нет действительно конкретной причины не делать это таким образом, я бы использовал этометод.Он гибкий и будет печатать столько строк, сколько возвращает ваш запрос (это означает, что вам нужно изменить только ваш запрос, а не код).

Дополнительную информацию о mysql_fetch_object и mysql_query можно найти здесь и здесь соответственно.

1 голос
/ 18 июня 2011

Это выведет восемь чисел в строке, начиная с 1 и заканчивая $end.Я не уверен, что $maxprobs здесь.

<?php

$end=82;  //will get all this data from a dabase
$rows=ceil($end/8);
$x=0;
$start=0;
?>
<table>
<?php
while($x<=$rows) {
  echo "<tr>";
  for ($y = 0; $y < 8; $y++, $start++) {
    if ($start <= $end) echo "<td>$start</td>";
  }
  echo "</tr>";
  $x++;
}
?>
</table>
0 голосов
/ 18 июня 2011

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

написать тег открытия таблицы плюс любые заголовки.

, в то время как в состоянии получить больше данных базы данных, получить их и сделать

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

теперь вы закончили со своими данными, напишите конец таблицы

Есть много примеров.

для петли по полю, поэтому они изобрели «foreach», например, если у вас 0 или 10000, вы можете пройти через каждый, даже если он не последовательный, так что для каждого «плода» в яблоке, груша, баннана ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...