Avatar billede stagedk Nybegynder
08. august 2009 - 22:22 Der er 7 kommentarer og
1 løsning

poste i flere rækker ?

Hej eksperter,
jeg har et lille problem jeg gerne vil have løst.
inde på http://djstage.dk/v2/index.php?side=guests
er der en gæsteliste som kun er i en lang række.
jeg vil gerne ha delt den op i 3 rækker.
er det noget i kan hjælpe med?

Source:

///// START /////
<b>Gæsteliste:</b><br><br>
<?
include('config.php');
$query = mysql_query("SELECT * FROM event WHERE status = 'accepted' ORDER BY navn") or die(mysql_error());
$num = mysql_num_rows($query);
while($row = mysql_fetch_assoc($query))
{
echo "$row[navn]<br>";
}
?>
///// SLUT /////
Avatar billede Slettet bruger
08. august 2009 - 23:27 #1
Quick 'n' dirty, men burde virker:

<b>Gæsteliste:</b><br /><br />
<table><tr>
<?php
include('config.php');
$query = mysql_query("SELECT * FROM event WHERE status = 'accepted' ORDER BY navn") or die(mysql_error());
$num = mysql_num_rows($query);
$namesColum = $num + 3 - $num % 3;

for($iii = 0; $iii < $namesColum; $iii++) {
    $row = mysql_fetch_assoc($query);
    echo "<td>$row[navn]</td>";
}

echo "</tr><tr>";

for($iii = 0; $iii < $namesColum; $iii++) {
    $row = mysql_fetch_assoc($query);
    echo "<td>$row[navn]</td>";
}

while($row = mysql_fetch_assoc($query)) {
    echo "<td>$row[navn]</td>";
}
?>
</tr></table>
Avatar billede stagedk Nybegynder
08. august 2009 - 23:41 #2
kimsey0 - kunne du evt forklare hvad du gør så jeg ved det til næste gang :D?
Avatar billede Slettet bruger
09. august 2009 - 00:25 #3
Ja, gerne, men det må blive i morgen. Oventstående hackede jeg bare sammen hurtigt, og det er ikke særligt effektivt.

Eller, jeg kan da prøve, selvom jeg er ret træt:

<b>Gæsteliste:</b><br /><br />
<?php
include('config.php');
$query = mysql_query("SELECT * FROM event WHERE status = 'accepted' ORDER BY navn") or die(mysql_error());
$num = mysql_num_rows($query);

//Antal navne per kolonne. Antallet er lig med antal navne divideret med tre, rundet op.
$namesColum = $num + 3 - $num % 3;

//Start på tabel.
echo "<table border='0'><tr>";

//Første række - Loop som antal navne pr. kolonnen.
for($iii = 0; $iii < $namesColum; $iii++) {
    //Hent et navn.
    $row = mysql_fetch_assoc($query);
    //Udskriv det i en fin boks.
    echo "<td>$row[navn]</td>";
}

//Ny række.
echo "</tr><tr>";

//Anden række - Loop som antal navne pr. kolonnen.
for($iii = 0; $iii < $namesColum; $iii++) {
    $row = mysql_fetch_assoc($query);
    echo "<td>$row[navn]</td>";
}

//Tredje række - Loop som resten af navnene.
while($row = mysql_fetch_assoc($query)) {
    echo "<td>$row[navn]</td>";
}

//Slut på tabel.
echo "</tr></table>";
?>
Avatar billede arne_v Ekspert
09. august 2009 - 04:36 #4
//Antal navne per kolonne. Antallet er lig med antal navne divideret med tre, rundet op.
$namesColum = $num + 3 - $num % 3;

- ser ud som om der mangler noget !
Avatar billede showsource Seniormester
09. august 2009 - 07:50 #5
er det ikke bare:

<b>Gæsteliste:</b><br><br>
<table><tr>
<?php
include('config.php');
$query = mysql_query("SELECT * FROM event WHERE status = 'accepted' ORDER BY navn") or die(mysql_error());
$num = mysql_num_rows($query);

$i = 0;

while($row = mysql_fetch_assoc($query))
{
$i++;
echo "<td>".$row["navn"]."</td>";

    if($i%3 == 0 && $i != $num) {
    echo"\r\n</tr><tr>";
    }

}
?>

</tr></table>
Avatar billede Slettet bruger
09. august 2009 - 12:01 #6
#5, jo. Det burde virke.

#4, ja, men det er skrevet klokken et om natten. Jeg var åbenbart ikke vågen nok. Burde slet ikke have skrevet så dårlig kode.
Avatar billede stagedk Nybegynder
09. august 2009 - 13:42 #7
showsource, gider du lige smide et svar :D?
Avatar billede showsource Seniormester
10. august 2009 - 09:54 #8
ok
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