html table maken met php?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Plato Republic

Plato Republic

04/07/2010 14:42:11
Quote Anchor link
Beste allen,
Ik heb het onderstaande code.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 $counter
=1;
 echo"<table width=\"700\" border=\"0\"><tr>";
 while($aRow = mysql_fetch_assoc($res))
  {

      $id = $aRow['id'];
      $picture = $aRow['picLoc'];

     if($previous_writer != $aRow['writer']){
        echo "<td width=130 valign=top>";
         echo "<center>";
         echo "<img width=50 height=80 src=\"../../writers/$picture\"><br>";
         echo $aRow['writer']."<hr>";
         echo "</center>";
      }

     $previous_writer = $aRow['writer'];
     echo"<a href=\"read.php?&id=$id\">".$aRow['title'] ."</a><br>";
    
    if($counter%3==0){
        echo "</td></tr><tr>";
        $counter++;
    }
    
    }
    
    echo"</tr></table>";
?>


Ik wil dat zodra er drie TD bereikt zijn, er een nieuwe TR wordt gemaakt, enzovoort. Met deze code gebeurd dat niet, ik weet niet wat ik fout doe. Dank alvast.
 
PHP hulp

PHP hulp

28/11/2024 21:37:50
 
Mark L

Mark L

04/07/2010 14:45:45
Quote Anchor link
$counter++ word alleen gedaan als $counter%3 gelijk is aan 0.

Dus er komt niets bij. Je moet $counter++; even buiten die if-statement halen.
 
Pieter van Linschoten

Pieter van Linschoten

04/07/2010 14:50:32
Quote Anchor link
Je moet het iets meer loskoppelen.

Genereer per table row, en elke kollom ook weer apart.

Ipv je dan moet berekenen, of je een </tr><tr> moet plaatsen, hoef je alleen maar een </tr> te plaatsen. Zelfde geldt voor je <td>'s.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<table>
<?
$i
= 0;
while(){
    $i++;
    if($i == 1){
        echo '<tr>';
    }

    echo '<td>'.$inhoud.'</td>';
    if($i == 3){
        echo '</tr>';
        $i = 0;
    }

?>

</table>
Gewijzigd op 04/07/2010 14:52:10 door Pieter van Linschoten
 
- SanThe -

- SanThe -

04/07/2010 16:01:07
 
Plato Republic

Plato Republic

04/07/2010 16:03:21
Quote Anchor link
Hoi Pieter,
Dank ik heb het geprobeerd, en de if() tussen de twee TD's gespot, er gaat als nog iets fout.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$i
= 0;
while($aRow = mysql_fetch_assoc($res)){
    $i++;
    $id = $aRow['id'];
    $picture = $aRow['picLoc'];
      
      if($i == 1){
          echo "<tr>";
      }

       echo "<td>";
       if($previous_writer != $aRow['writer']){
       echo "<center>";
       echo "<img width=50 height=80 src=\"../writers/$picture\"><br>";
       echo $aRow['writer']."<hr>";
       echo "</center>";
       }

       $previous_writer = $aRow['writer'];
       echo"<a href=\"read.php?&id=$id\">".$aRow['title'] ."</a><br>";
       echo"</td>";
      
       if($i == 3){
          echo "</tr>";
          $i = 0;    
       }

  }
    

?>
 
Joren de Wit

Joren de Wit

04/07/2010 18:00:59
Quote Anchor link
En wat gaat er nog fout dan?
 
Plato Republic

Plato Republic

04/07/2010 18:15:45
Quote Anchor link
Wat ik wil is, dat van iedere schrijver alle artikelen onder zijn naam in een TD worden weergegeven. Zodra er een nieuwe schrijver bij komt, wordt een nieuwe td aangemaakt. En als er drie TDs zijn, moet er een nieuwe TR aangemaakt worden enzovoort. l

dat is wat mij niet lukt.... ze komen niets naast elkaar te staan...
 
- SanThe -

- SanThe -

04/07/2010 18:47:15
Quote Anchor link
SanThe Nvt op 04/07/2010 16:01:07:
 
Plato Republic

Plato Republic

04/07/2010 19:47:50
Quote Anchor link
Hey San,
Dat werkt al hellemaal niet. Ik krijg alleen maar TRs. De TDs worden niet gemaakt. Maar dank voor de moeite.
 
Obelix Idefix

Obelix Idefix

04/07/2010 21:34:10
Quote Anchor link
Je hebt de while toch wel (goed) ingevuld in het voorbeeld van SanThe Nvt?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.