Avatar billede tetrix Nybegynder
23. januar 2008 - 15:13 Der er 17 kommentarer og
1 løsning

TR ved hvert femte td?

Hejsa Eksperter.
På ihimlen.dk har de opstillet deres spil i tables. ved hvert 6 spil laver php automatisk en <tr>
Er der en herinde der kan ændre mit script, så den laver en <tr> ved hvert 5. id?

<?
echo "<center><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>";
while($se = mysql_fetch_array($q1)) {
?>
<td width="20%" align="center">tekst<td>
<?
}
}
echo "</tr></table></center>";
?>

På forhånd tak
Avatar billede pidgeot Nybegynder
23. januar 2008 - 15:19 #1
(...)
$i=0;
while($se = mysql_fetch_array($q1)) {
?>
if ($i != 0 && $i % 5 == 0)
  echo '</tr><tr>';
<td width="20%" align="center">tekst<td>
<?
$i++;
}
(...)
Avatar billede michael_stim Ekspert
23. januar 2008 - 15:20 #2
Tror ikke den virker ;o)
Avatar billede tetrix Nybegynder
23. januar 2008 - 15:26 #3
Selvfølgelig gjorde den det :D smid et svar.
Forresten, skønt at man får et svar så hurtigt :-)
Avatar billede pidgeot Nybegynder
23. januar 2008 - 15:28 #4
Værsgo.

Af ren nysgerrighed, hvorfor troede du ikke den virkede, michael_stim? ^o)
Avatar billede michael_stim Ekspert
23. januar 2008 - 15:29 #5
Hvis du fik den til at virke med de php starttags og sluttags, er der noget galt ;o)
Avatar billede michael_stim Ekspert
23. januar 2008 - 15:33 #6
Kan du se det pidgeot?
tetrix fandt selv ud af det.
Avatar billede pidgeot Nybegynder
23. januar 2008 - 15:38 #7
Måske er det du tænker på at der kommer en ?> før en <? - det er netop derfor jeg har brugt (...), da jeg ikke har kopieret hele hans kodestump, kun det der reelt bliver ændret i, og (...) indikerer det udeladte.
Avatar billede michael_stim Ekspert
23. januar 2008 - 15:41 #8
if ($i != 0 && $i % 5 == 0)
  echo '</tr><tr>';
er udenfor php, og vil blive udskrevet på siden. Eller er det mig der er blevet helt rundt på gulvet?
Avatar billede michael_stim Ekspert
23. januar 2008 - 15:42 #9
(...)
$i=0;
while($se = mysql_fetch_array($q1)) {
?>//ikke her
if ($i != 0 && $i % 5 == 0)
  echo '</tr><tr>';
?>//men her
<td width="20%" align="center">tekst<td>
<?
$i++;
}
(...)
Avatar billede pidgeot Nybegynder
23. januar 2008 - 15:51 #10
Ahhhh - nej, den så jeg ikke lige. My bad ^o)
Avatar billede mibu Nybegynder
23. januar 2008 - 16:15 #11
Læser med for at lærer! Men nu blev jeg da først forvirret!
Prøv lige at sammensætte hele koden som den skal se ud.... Please!
Avatar billede michael_stim Ekspert
23. januar 2008 - 18:33 #12
(...)
$i=0;//Sætter $i til nul (kunne have sat den til 1, så havde man undgået det første i if)
while($se = mysql_fetch_array($q1)) {//her hentes data fra basen
if ($i != 0 && $i % 5 == 0){//Hvis $i ikke er lig med 0 og $i modulus 5 er lig med nul
//modulus er det resterende når $i er delt med 5. Eks 7 % 5 = 2
echo '</tr><tr>'; //Så skal den lave en start tr og en slut tr
}
?>
<td width="20%" align="center">tekst<td>
<?php
$i++; //Og her øger vi $i med 1
}
(...)
Avatar billede zynzz Praktikant
23. januar 2008 - 20:33 #13
På den måde i viser bliver koden ikke lukket hvis nu kun der er 19 ting...

Dvs. der kommer til at mangle </tr>
Avatar billede michael_stim Ekspert
23. januar 2008 - 21:17 #14
Som du ser er der heller ikke <tr> i starten. Det er meningen at man skal have <tr> før loppen og </tr> efter loppen ;o)
Avatar billede zynzz Praktikant
23. januar 2008 - 21:27 #15
Ja der kommer bare et mellemrum mellem  de sidste </tr><tr>:
gør ikke noget


Lad os antage der er 5 objekter, så vil den så således ud:

// før løkken
<table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>


// løkken
<td width="20%" align="center">tekst<td>
<td width="20%" align="center">tekst<td>
<td width="20%" align="center">tekst<td>
<td width="20%" align="center">tekst<td>
<td width="20%" align="center">tekst<td>
</tr><tr>


// efter løkken
</tr>
</table>

Men bare glem jeg skrev.. :D
Avatar billede pidgeot Nybegynder
23. januar 2008 - 21:31 #16
Nej, det vil den ikke - for <tr> skrives ud FØR item'et, og skippes hvis $i er 0. ;)
Avatar billede supersquirrel Nybegynder
23. januar 2008 - 21:41 #17
$nummer = 0;
$nummer++;
if ($nummer == 4) {
$nummer = 0;
echo "</tr><tr>";

? :)
Avatar billede supersquirrel Nybegynder
23. januar 2008 - 22:12 #18
Bare glem overstående kommentar :)
Tror ikke den virker alligevel
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