Hallo,

Voor een opdracht moet ik via php en de while of do while loop een overzicht maken van de tafels van vermenigvuldigen.
Nu dit werkt enkel krijg ik telkens een kolom teveel en wordt er boven de tabel 0000000000 geplaatst en ik heb geen idee van waar deze komen.

Iemand die mijn fout ziet? Ik weet dat dit ook via een for-lus kan etc maar in mijn opdracht staat met een while of do-while loop.

Al vast bedankt,
MVG,
Joren

De desbetrefende code:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <style type="text/css">table {} td {border:1px solid black; width:50px;}</style>
        <title>phpoefening006bis - Joren Van Hocht</title>
    </head>
    <body>
        <table>
            <tr><td>
            <?php
                $tafel = 0;
                $maal = 0;
                do {
                    while($maal <= 10) {
                        $result = $tafel * $maal;
                        echo $result; ?></td><td>
                        <?php
                        ++$maal;
                        if($maal == 11) {
                            $maal = 0;
                            ++$tafel;
                            ?></td></tr><tr><?php
                        }
                        if($tafel == 11) {
                            return false;
                        }
                    }
                }while($tafel <=11);
            ?>
        </table>
    </body>
</html>
Dus je begint bij 0.... en dan vraag je je af waarom het bij 0 begint?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <style type="text/css">table {} td {border:1px solid black; width:50px;}</style>
        <title>phpoefening006bis - Joren Van Hocht</title>
    </head>
    <body>
        <table>
        <tr>
            
            <?php
                $tafel = 0;
                $maal = 0;
            
            do {
                while($maal <= 10) {
                $result = $tafel * $maal;
                 echo '<td>' .$result . '</td>'; 
             
                $maal++;
                if($maal == 11) {
              
                    $maal = 0;
                    $tafel++;
            ?>
                
        </tr>
        <tr>
        <?php
                }
                  if($tafel == 11) {
                    return false;
                  }
                 }
                }while($tafel <=11);
            ?>
        </tr>
        </table>
    </body>
</html>
@Erwin H, neen dat vraag ik mij niet af, als je de code test zie je wel wat ik bedoel hij geeft inderaad 10x 0 in de eerste rij, maar boven mijn tabel geeft hij ook nog eens 10x

@Reshad F, bedankt dit lost inderdaad mijn probleem op! bedankt!

Reageren