Permalänk
Medlem

radbyte i tabeller med php

Tja!

Sitter och arbetar lite med en sida där jag listar filmer i en tabell som läser in värden från en textfil. Varje ny film som läses in listas i en egen tabell. Jag vill att efter låt säga var sjätte film så ska det läggas in en avslutande </tr>, varpå loopen körs om och efter ytterligare sex poster ska det avslutas med </tr> och så vidare. Kommer dock inte på hur jag ska skriva. Någon som kan komma på hur jag ska göra?

<?php $file = "film.txt"; echo "<table class=IMDbTable><tr><th colspan='6'>Titel</th></tr><tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { while ( ( $buffer = fgets($handle) ) !== false ) { $title = explode("\t",$buffer); $link = explode("\t",$buffer); $b = explode("\t",$buffer); $s = explode("\t",$buffer); echo "<td><table><tr><td>"; echo $title[0]; echo "</td></tr><tr><td><a href='"; echo $b[2]; echo "' TARGET='_blank'><img src='"; echo $s[3]; echo "' /></td></tr><tr><td><a href='"; echo $link[1]; echo "' TARGET='_blank'><img src=imdb_logo.png></a></td></tr></table></td>"; } fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?>

Permalänk
Medlem

Lägg till en räknare $counter++ för att hålla reda på hur många filmer du loopat igenom och var sjätte rad lägger du till <tr> respektive </tr> med hjälp av en en if-sats if($counter % 6 == 0)

Permalänk
Medlem

tyvärr ganska ny på php så jag vet inte vart i koden jag ska skriva in if-satsen och räknaren. ska det vara för eller efter while-satsen?

det fixade sig till slut men tack ändå

Permalänk
Medlem

<?php $file = "film.txt"; echo "<table class=IMDbTable><tr><th colspan='6'>Titel</th></tr><tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { $counter = 0 echo '<tr>'; while ( ( $buffer = fgets($handle) ) !== false ) { $counter++; $title = explode("\t",$buffer); $link = explode("\t",$buffer); $b = explode("\t",$buffer); $s = explode("\t",$buffer); echo "<td><table><tr><td>"; echo $title[0]; echo "</td></tr><tr><td><a href='"; echo $b[2]; echo "' TARGET='_blank'><img src='"; echo $s[3]; echo "' /></td></tr><tr><td><a href='"; echo $link[1]; echo "' TARGET='_blank'><img src=imdb_logo.png></a></td></tr></table></td>"; if($counter == 6){ echo '</tr><tr>'; } } echo '</tr>'; fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?>

Visa signatur

Citera för svar

Permalänk
Medlem

sorry koden funka inte

Permalänk
Medlem

<?php $file = "film.txt"; echo "<table class=IMDbTable><tr><th colspan='6'>Titel</th></tr><tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { $counter = 0 echo '<tr>'; while ( ( $buffer = fgets($handle) ) !== false ) { $counter++; $title = explode("\t",$buffer); $link = explode("\t",$buffer); $b = explode("\t",$buffer); $s = explode("\t",$buffer); echo "<td><table><tr><td>"; echo $title[0]; echo "</td></tr><tr><td><a href='"; echo $b[2]; echo "' TARGET='_blank'><img src='"; echo $s[3]; echo "' /></td></tr><tr><td><a href='"; echo $link[1]; echo "' TARGET='_blank'><img src=imdb_logo.png></a></td></tr></table></td>"; if($counter == 6){ echo '</tr><tr>'; $counter=0; } } echo '</tr>'; fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?>

Notera $counter=0; i if-satsen, ränkaren måste återställas när den nått 6.

Visa signatur

FreeNAS 3U | 8GB | 2x2x3TB ProxMox i7-8700K | 32GB Desktop Dell 22" | Benq 22" | i5-smth | 16GB | Intel 520 120GB | 500GB | Arch

Permalänk
Medlem
Skrivet av atriix:

<?php $file = "film.txt"; echo "<table class=IMDbTable><tr><th colspan='6'>Titel</th></tr><tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { $counter = 0 echo '<tr>'; while ( ( $buffer = fgets($handle) ) !== false ) { $counter++; $title = explode("\t",$buffer); $link = explode("\t",$buffer); $b = explode("\t",$buffer); $s = explode("\t",$buffer); echo "<td><table><tr><td>"; echo $title[0]; echo "</td></tr><tr><td><a href='"; echo $b[2]; echo "' TARGET='_blank'><img src='"; echo $s[3]; echo "' /></td></tr><tr><td><a href='"; echo $link[1]; echo "' TARGET='_blank'><img src=imdb_logo.png></a></td></tr></table></td>"; if($counter == 6){ echo '</tr><tr>'; $counter=0; } } echo '</tr>'; fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?>

Notera $counter=0; i if-satsen, ränkaren måste återställas när den nått 6.

Eller så kör man

if($counter % 6 == 0){ echo '</tr><tr>'; }

Så slipper man sätta $counter till 0.

Permalänk
Medlem
Skrivet av agentq15:

Eller så kör man

if($counter % 6 == 0){ echo '</tr><tr>'; }

Så slipper man sätta $counter till 0.

Jo, det funkar ju självklart också.

Visa signatur

FreeNAS 3U | 8GB | 2x2x3TB ProxMox i7-8700K | 32GB Desktop Dell 22" | Benq 22" | i5-smth | 16GB | Intel 520 120GB | 500GB | Arch