Jake
Jake

Reputation: 57

How do you increment a number with every table row?

It is very simple, but I cannot do it. Now it takes every information from my database and introduces it in the Nr. td. How can I increment the value with every row?

<?php while ($row=mysql_fetch_array($query)) { ?>

    <tbody>
        <tr>
            <td (this is what I want to auto-increment)>

                <?php
                    $i = 1;
                    foreach($row as $i){
                    $i++;
                    echo $i;
                    }
                ?>

            </td>
            <td width="120">

                <?php echo $row['Name'];?>

            </td>
        </tr>
    </tbody>
<?php } ?>

Thanks!

Upvotes: 2

Views: 18202

Answers (4)

CodeBird
CodeBird

Reputation: 3858

Initialize $i before the while loop then echo in the td then increment it.

<?php 
$i=1;
while ($row=mysql_fetch_array($query)) { ?>

<tbody>
    <tr>
        <td width="5">

            <?php
                echo $i;
                $i++;
                //You can join the above 2 lines into 1 like this:
                // echo $i++;
                // This way you're telling php, echo $i then increment it by 1
            ?>

        </td>
        <td width="120">

            <?php echo $row['Name'];?>

        </td>
    </tr>
</tbody>
<?php } ?>

NB: if you're just learning PHP, you shouldn't be learning mysql_* as they are deprecated and will be removed in future releases. Check out mysqli or PDO.

Upvotes: 1

Victory
Victory

Reputation: 5890

Have your row counter ($rowNum) outside of the while

 <?php 
    $rowNum = 1; ?>


     <tbody>
         <?php while ($row=mysql_fetch_array($query)) { ?>
         <tr>
             <td width="5">
                 <?php echo $rowNum; $rowNum++ ?>
             </td>
             <td width="120">

                 <?php echo $row['Name'];?>

             </td>
         </tr>
         <?php } ?>
     </tbody>

Upvotes: 0

Le Duy Khanh
Le Duy Khanh

Reputation: 1369

initialize

$i = 1;

outside while loop

while ($row=mysql_fetch_array($query))

, so that it will increase.

Upvotes: 0

Anand Solanki
Anand Solanki

Reputation: 3425

Try this:

Modify your code as given below:

<tbody>

<?php 
$i = 1;
while ($row=mysql_fetch_array($query)) { ?>
        <tr>
            <td width="5">
                <?php
                    echo $i;
                    $i++;
                ?>

            </td>
            <td width="120">

                <?php echo $row['Name'];?>

            </td>
        </tr>
        <?php }?>

    </tbody>

Upvotes: 5

Related Questions