Avatar billede overgreat Forsker
03. august 2006 - 09:14 Der er 5 kommentarer og
1 løsning

få tabel til at skifte række efter hver fjerde celle

Hvordan får jeg indsat <tr></tr> efter hver fjerde celle i min tabel?

--------------

if ($tjeck==uploadstart){
        include("config.php");
        $db = mysql_connect($server, $user, $pass);
        mysql_select_db($database, $db);
if(empty($page)){
$page = 1;
}

#Rækker pr side
$limit = 16;

#Skift din_egen_tabel
$ud_countresult = mysql_query("SELECT * FROM nyheder_billede WHERE nyhedid=$nyhedid ORDER BY id")or die(mysql_error());
$totalrows = mysql_num_rows($ud_countresult);



$limitvalue1 = $page*$limit-($limit);

#Tilbage Knap
if($pageprev = $page - 1) {
echo "<A HREF='nyhedadmin.php?page=$pageprev&tjeck=uploadstart&sorter=id' target='_top'><</A> ";
}

else {
echo "<";
}

$numofpages = $totalrows/$limit;

#Siderne
for($i= 1; $i < $numofpages+1; $i++) {
echo " <A HREF='nyhedadmin.php?page=$i&tjeck=uploadstart&sorter=id' target='_top'>$i</A>";
}

#Frem Knap
if(($totalrows-($limit*$page)) > 0){
$pagenext = $page + 1;
echo " <A HREF='nyhedadmin.php?page=$pagenext&tjeck=uploadstart&sorter=id' target='_top'>></A>";
}
#Frem Knap
if(($totalrows-($limit*$page)) < 0){
$pagenext = $page + 1;
echo " >";
}
        echo "
</h2><center>
<table width='640' border='1' cellpadding='5' cellspacing='0'><tr valign='top'>";
   
    $foresp = mysql_query("SELECT nyheder_billede.id, nyheder_billede.nyhedid, nyheder_billede.navn, nyheder_billede.beskrivelse FROM nyheder_billede WHERE nyheder_billede.nyhedid = $nyhedid ORDER BY id LIMIT $limitvalue1, $limit ");
   
        while ($data = mysql_fetch_row($foresp)){
$str = $data['3'];
if (strlen($data['3']) > 40) {

$str = substr( $data['3'], 0, 40 );  // de 25 første
        // men det er nok midt i et ord så vo søger bagfra efter et mellemrum
$pos = strrpos( $str, " " );
$str = substr( $str, 0, $pos );    // klip det halve ord af
$str = $str ." ...";              // og fortæl der er mere i den nyhed.
}   

echo "<td width='160'><center><h2>- SLET BILLEDE -
<br>
<br><img src='nyhedbilleder/$data[2]' border='0' width='160'>
<br>
<br>$str</h2><center></td>";
        }
   
        echo "</tr>
</table></center>

        ";
        }
Avatar billede gertp Nybegynder
03. august 2006 - 09:26 #1
Avatar billede albi Nybegynder
03. august 2006 - 09:27 #2
Der hvor du gerne vil have at den skal skifte kan du indsætte:

if($cellenr/4=round($cellenr/4) && $cellenr!=0){
echo "</tr><tr>";
}else{
}
Avatar billede overgreat Forsker
03. august 2006 - 09:43 #3
hej albi

skal jeg rette $cellenr til eller kan jeg bare klippe den direkte ind i min kode?
Avatar billede albi Nybegynder
03. august 2006 - 10:28 #4
du skal rette $cellenr til... jeg kunne ikke helt gennemskue, hvor du ville have det... men, hvis det er i
#Siderne
for($i= 1; $i < $numofpages+1; $i++) {
skal det bare rettes til $i...
Hvis det skal være i:
while ($data = mysql_fetch_row($foresp)){
skal du sætte $cellenr=0; lige inden din while lykke... og lægge 1 til i slutningen af lykken.
Avatar billede albi Nybegynder
03. august 2006 - 10:34 #5
Hov... $cellenr skal starte ved 1... ellers kommer der en celle for meget!
Avatar billede Slettet bruger
03. august 2006 - 15:35 #6
En (efter min mening) smartere løsning er al bruge %-operatoren som i det spørgsmål gertp linker til:

Her er lidt kode:

$i=0;
while ($data = mysql_fetch_row($foresp)){
  if($i%4==0) echo '<tr>';
  $str = $data['3'];
  if (strlen($data['3']) > 40) {

    $str = substr( $data['3'], 0, 40 );  // de 25 første
        // men det er nok midt i et ord så vo søger bagfra efter et mellemrum
    $pos = strrpos( $str, " " );
    $str = substr( $str, 0, $pos );    // klip det halve ord af
    $str = $str ." ...";              // og fortæl der er mere i den nyhed.
  } 

  echo "<td width='160'><center><h2>- SLET BILLEDE -
  <br>
  <br><img src='nyhedbilleder/$data[2]' border='0' width='160'>
  <br>
  <br>$str</h2><center></td>";
  if($i%4==3) echo '</tr>';
  $i++;
}
// Dette til sidst er kun relevant, hvis der kan være sider med færre resultater
if($i%4>0) {
  while(++$i%4>0) echo '<td></td>';
  echo '</tr>';
}
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