Avatar billede bacce.dk Nybegynder
01. november 2005 - 09:04 Der er 5 kommentarer og
1 løsning

opstilling af data fra mysql.

Hejsa

Jeg har en masse data liggende i mysql som jeg gerne vil have trukket ud og så vises på siden.
Det er jo som sådan nemt nok mit problem er bare at jeg vil have det i en tabel og det skal være sådan at de er opstillet med en <td>$data</td> for hver output.
Men når den så har lavet 3 af disse vil jeg gerne have en </tr><tr> ind så alle data er stillet op i rækker med 3 ved siden af hinanden. i stil med dette

----------------------
| data | data | data |
| data | data | data |
| data | data | data |
----------------------

hvordan kan jeg få php til at gøre det ?
Jeg printer min data ud via en "for" løkke.
Avatar billede bacce.dk Nybegynder
01. november 2005 - 09:04 #1
Måske bedre vist sådan her:

----------------------
| data | data | data |
----------------------
| data | data | data |
----------------------
| data | data | data |
----------------------
Avatar billede dmdisco Nybegynder
01. november 2005 - 09:13 #2
<?php
print "<table><tr>";
$cols = "3";
$result = mysql_query("SELECT * FROM tabel") or die(mysql_error());
$i = 0;
while ($row = mysql_fetch_array($result)) {
    echo "<td>$row[data]</td>";
    $i++;
    if ($i == $cols) {
        echo "</tr><tr>";
        $i = 0;
    }
}
print "\t<td colspan=\"$list_cols\">&nbsp;</td>\n</tr>\n</table>\n";

?>
Avatar billede dmdisco Nybegynder
01. november 2005 - 09:14 #3
hov
<?php
print "<table><tr>";
$cols = "3";
$result = mysql_query("SELECT * FROM tabel") or die(mysql_error());
$i = 0;
while ($row = mysql_fetch_array($result)) {
    echo "<td>$row[data]</td>";
    $i++;
    if ($i == $cols) {
        echo "</tr><tr>";
        $i = 0;
    }
}
print "\t<td colspan=\"$cols\">&nbsp;</td>\n</tr>\n</table>\n";

?>
Avatar billede bacce.dk Nybegynder
01. november 2005 - 10:47 #4
Ja det ser da meget rigtigt ud.. ser bare et problem hvis der så ikke er 3-6-9-12 o.s.v outputs fra databasen ?? så vil den ikke afslette med en </tr><tr>
Avatar billede dmdisco Nybegynder
01. november 2005 - 11:58 #5
hvad med noget i den her stil så

<?php
print "<table><tr>";
$cols = "3";
$result = mysql_query("SELECT * FROM tabel") or die(mysql_error());
$num = mysql_num_rows($result);
$i = 0;
$a = 0;
while ($row = mysql_fetch_array($result)) {
    if ($num == $a) {
        $rest = $cols-$i;
        echo "<td colspan=\"$rest\">$row[data]</td>";
    } else {
        echo "<td>$row[data]</td>";
        $a++;
    }
    $i++;
    if ($i == $cols) {
        echo "</tr><tr>";
        $i = 0;
    }
}
print "\t<td colspan=\"$cols\">&nbsp;</td>\n</tr>\n</table>\n";

?>
Avatar billede bacce.dk Nybegynder
02. november 2005 - 20:22 #6
Ja okey den var ikke helt ok, men fik da det til at spille som den skulle :-)

tak for hjælpen
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