Search code examples
phphtml-tablemoney-format

PHP echo money format plus amount


I have a table for total report and I want to get a value from a database and format the numbers and have an output like this PHP 10,000.00 not like this 10000

Here is my trial PHP code. I have a table for print of Total reports and got problem in formatting the total amount.

function printpage()
{
window.print()
}

</script></head>
<body>
<br>
<br>
<div class="container">
<center>
<div class="alert alert-success" align="center"><h1>TOTAL REPORT</h1></div>
<br />
<table  class="table table-striped table-bordered" border="1"  width="900">
    <thead>
        <tr>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Address</th>

            <th>Start of Event</th>
            <th>End of Event</th>
            <th>Quantity</th>
            <th>Amount</th>
            <th>Status</th>
            <th>Confirmation</th>               
        </tr>
    </thead>
    <tbody>
        <?php 
        $con=mysql_connect("localhost","root","")or die(mysql_error());
      $db=mysql_select_db('pm')or die(mysql_error());

            $query=mysql_query("select * from reservation  ")or die(mysql_error());
            while($row=mysql_fetch_array($query)){
            $id=$row['id'];
        ?>
        <tr>
            <?php  $row['id'] ?>
            <td><?php echo $row['firstname'] ?></td>
            <td><?php echo $row['lastname'] ?></td>
            <td><?php echo $row['address'] ?></td>
            <td><?php echo $row['arrival']?></td>
            <td><?php echo $row['departure'] ?></td>
            <td><?php echo $row['result'] ?></td>

            <td><?php 
            $number = 'payable';
            $payable = 0;
            setlocale(LC_MONETARY,"en_PHP");
    echo $row("The price is %i", $payable);
   ?>  </td>
            <td><?php echo $row['status'] ?></td>
            <td><?php echo $row['confirmation'] ?></td>
        </tr>
        <?php } ?>
    </tbody>
</table>
<?php
    $result = mysql_query("SELECT sum(payable) FROM reservation") or die(mysql_error());
    while ($rows = mysql_fetch_array($result)) {
?>

<?php }

$result1 = mysql_query("SELECT result(qty) FROM rooinventory") or die(mysql_error());
while ($rows1 = mysql_fetch_array($result1)) {
?>  
<div class="pull-right">
    <div class="span">
        <div class="alert alert-info"><i class="icon-credit-card icon-large">      </i>&nbsp;Total Amount:&nbsp;<?php echo $rows1['sum(p)']; ?></div>
    </div>
</div>
</center>
<?php } ?>

Solution

  • Your locale is wrong and $number should actually be a $row value.

    setlocale(LC_MONETARY, 'en_US');
    echo money_format('%i', $row['payable']);
    

    For Windows machines

    echo '$' . number_format(floatval($row['payable']));