данные из базы данных с foreach - сверху вниз - PullRequest
1 голос
/ 04 августа 2011

база данных:

id | name
1  | aaa
2  | bbb
3  | ccc
.. | ...
250| zz3

foreach ($datafromdb as $value){
  echo $value->name();
}

это показать мне:

aaa bbb  ccc  ... zz3

слева направо

if 

<table>
 <tr>
    foreach ($datafromdb as $value){
      echo '<td>' . $value->name() . '</td>';
    }
  </tr>
</table>

показать:

aaa
bbb
ccc
...
zzz3

как я могу сделать таблицу 12x12?

aaa aaa1 bbb2
bbb aaa2 bbb2
... aaa3 bbb3
... ...  ....
zzz zzz2 zzz4

сначала сверху вниз (12x), затем в следующем столбце и снова сверху вниз (12x) и т. д. 12x

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

Ответы [ 5 ]

1 голос
/ 04 августа 2011

Вы можете попробовать создать таблицы рядом (с плавающей точкой, используя css)

  $index=0;
    foreach ($data as $value)
    {
      if($index == '12') $index = 0;

      if($index == 0) echo '<table style="float:left;">';
      echo '<tr>' ;
      echo '<td>' . $value . '</td>';
      echo '</tr>' ;
      if($index==11) echo '</table>' ;
      $index ++;
    }
1 голос
/ 04 августа 2011
<table>
        $index=0;
        foreach ($datafromdb as $value)
        {
          if($index%12==0) echo '<tr>' ;
          echo '<td>' . $value->name() . '</td>';
          if($index%12==0) echo '</tr>' ;
        }
</table>
0 голосов
/ 04 августа 2011

Код Дэниела Черрингтона хорош, но только с PHP просто сделайте:

<?php
$data = range(1,240);
$tab = array();
$max = 12;
for($i=0;$i<sizeof($data);$i++){
    $tab[($i % $max)][] = $data[$i];
}

echo "<table border='1'>";
foreach($tab as $line){
    echo "<tr>";
    foreach($line as $row){
        echo "<td>".$row."</td>";
    }
    echo "</tr>";
}
echo "</table>";
?>
0 голосов
/ 04 августа 2011
<?php

$data = range(1,16);

$maxColumns = 4;
$maxRows = 4;

?>

<table>

    <? for($r = 0; $r < $maxRows; $r++) { ?>
        <tr>
            <? for($c = 0; $c < $maxColumns; $c++) { ?>
                <td><? echo $data[($c*$maxColumns)+$r]?></td>
            <? }?>
        </tr>
    <? } ?>
</table>

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

0 голосов
/ 04 августа 2011

Слушай, я точно не знаю php, но вот о чем я могу думать:

<table>
    <tr>
    var counter=0;
    foreach ($datafromdb as $value){
        if (i%12==0) { echo '<td>'; }
        echo $value->name()+'<br/>';
        if (i%12==0) { echo '</td>'; }
        counter++;
    }
    </tr>
</table>

Надеюсь, это поможет!

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