webForumDet fria alternativet

ny <TR></TR> efter 3 st <TD></TD>

4 svar · 186 visningar · startad av Neo

NeoMedlem sedan dec. 200079 inlägg
#1

Hej!

Jag har ett problem med att visa 3 bilder på varje rad i en tabell...

<TR><TD>bild 1</TD><TD>bild 2</TD><TD>bild 3</TD></TR>
<TR><TD>bild 4</TD><TD>bild 5</TD><TD>bild 6</TD></TR>

osv

Kan man lösa det med LIMIT?

Jag måste ju fortfarande hämta alla bilder med en SELECT *... och om jag använder LIMIT får jag bara 3 bilder och en rad...

Hjälp!

// Neo

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Nej, limit har du ingen nytta av i detta sammanhang. Det är något du måste hantera i ditt presentationsskript.

Använder du ASP elle PHP?

NeoMedlem sedan dec. 200079 inlägg
#3

Hej LarsG!

Jag kör PHP...

En idé är att ha en counter som räknar upp till 3 och skriver en </TR> och sen nollställer sig och skriver en <TR>...

typ såhär i loopen:

if ($counter=="1") {
echo("<TR>");
}

här skriver jag TD-taggarna...

if ($counter=="3") {
echo("</TR>");
$counter = "1";
}

$counter = $counter + 1;

} while ($array = mysql_fetch_array($result));

men det funkar ju bara om jag har jämt antal bilder, 3, 6, 9, 12 osv i det här fallet.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

$counter = 1;
while (1) {
  $array = mysql_fetch_array($result);
  if  ( !$array ) break;
  if ( $counter == 1) echo "<tr>";
  echo "<td>" . $array["image"] . "</td">;
  if ( $counter == 3) echo "</tr>";
  $counter++;
  if ( $counter > 3 ) $counter = 1;
}
if ( $counter != 1 )  echo "</tr>";
NeoMedlem sedan dec. 200079 inlägg
#5

Tack LarsG!

Du är en klippa! (som vanligt)

// Neo

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)