Avatar billede morpheus Nybegynder
28. juni 2005 - 11:39 Der er 10 kommentarer og
1 løsning

Fordel over flere kolonner

Hej,

Jeg sidder med præcis 8 elementer fra en database, der skal fordeles i en tabel med 2 rækker og 4 kolonner.

Hvordan gør jeg nemmest det?
Avatar billede elskermad.dk Nybegynder
28. juni 2005 - 12:28 #1
Ideen i det er her, men er skrevet hurtigt i fri hånd uden test, så ikke sikker på den er 100% rigtig :)

<table>
  <tr>

<?

$elementer = array("hej","med","dig","hvad","går","du","og","laver?");
$x = 0;

while(count($elementer) > $x) {
  echo"
      <td>$elementer[$x]</td>
  ";

  if (empty($x%4)) echo"</tr><tr>";

  $x++;
}

?>

  </tr>
</table>
Avatar billede nielle Nybegynder
28. juni 2005 - 18:38 #2
<?php
$query = "SELECT dineData FROM dinTabel";
$result = mysql_query($query);

echo "<table>";
echo "<tr>";

$count = 0;
while ($row = mysql_fetch_assoc($result))
{
    echo "<td>" . $row["dineData"] . "</td>";

    $count++;
    if ($count % 4 == 0)
    {
        echo "</tr>";
        echo "<tr>";
    }
}

echo "</tr>";
echo "</table>";
?>
Avatar billede olebole Juniormester
28. juni 2005 - 18:46 #3
<ole>

Lige en enkelt detalje: Hvis ovenstående kode med en stor tabel tager 1 sekund at udskrive, tager det omkring 0,002 - 0,01 sekund, hvis man skriver til en buffer og udskriver denne et enkelt sted (- og det er jo nok en performance forbedring, der er værd at tage med):

<?php
$query = "SELECT dineData FROM dinTabel";
$result = mysql_query($query);

$s = "<table>";
$s .= "<tr>";

$count = 0;
while ($row = mysql_fetch_assoc($result))
{
    $s .= "<td>" . $row["dineData"] . "</td>";

    $count++;
    if ($count % 4 == 0)
    {
        $s .= "</tr>";
        $s .= "<tr>";
    }
}

$s .= "</tr>";
$s .= "</table>";
echo $s;
?>

/mvh
</bole>
Avatar billede elskermad.dk Nybegynder
28. juni 2005 - 20:01 #4
hvordan kan det være ole? for ja, det er da værd at tage med :)
Avatar billede nielle Nybegynder
28. juni 2005 - 20:05 #5
I/O tager altid forholdsvis lang tid, og det er derfor mere effektivt at lave en samlet skrivning end et større antal enkelte skrivninger.
Avatar billede elskermad.dk Nybegynder
28. juni 2005 - 20:38 #6
I/O - output/indput?
Avatar billede nielle Nybegynder
28. juni 2005 - 20:41 #7
Nemlig.
Avatar billede nielle Nybegynder
06. juli 2005 - 08:38 #8
Lukketid?
Avatar billede morpheus Nybegynder
24. juli 2005 - 17:20 #9
Hvis ole ligger et svar...
Avatar billede nielle Nybegynder
02. december 2007 - 10:30 #10
olebole?
Avatar billede morpheus Nybegynder
02. december 2009 - 07:36 #11
Hvis Ole vil have point, må han henvende sig...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester