Я хочу добавить значения в строку таблицы, полученную из MySQL.
Это мой файл PHP:
<?php
mysql_connect('localhost','root','');
mysql_select_db('accounts');
$sql= "SELECT * FROM users1";
$list=mysql_query($sql);
?>
<html>
<head>
<title>Welcome to ScanNShop</title>
</head>
<h1>Welcome to ScanNShop</h1>
<body>
<table width="600" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>No.</th>
<th>Name</th>
<th>Price</th>
<tr>
<?php
while ($users1=mysql_fetch_assoc($list)) {
echo "<tr>";
echo "<td>".$users1['pid']."</td>";
echo "<td>".$users1['name']."</td>";
echo "<td>".$users1['price']."</td>";
}
?>
</table>
</body>
</html >
Это вывод из файла PHP.
No. Name Price
1 bread 2.00
2 milk 2.00
3 janabab 6797994.00
4 jajajsh 846494.00
Я хочу сложить все цены и отобразить echo "Total:" thetotal
Я сохранил твой код простым и добавил изменения
Я мог бы дать вам другой код, но это легко понять, если вы изучаете PHP
Я добавил комментарий по изменению
mysql_connect('localhost','root','');
mysql_select_db('accounts');
$sql= ('SELECT * FROM users1');
$list=mysql_query($sql);
?>
<html>
<head>
<title>Welcome to ScanNShop</title>
</head>
<h1>Welcome to ScanNShop</h1>
<body>
<table width="600" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>No.</th>
<th>Name</th>
<th>Price</th>
</tr>
<?php
//set total to zero
$total=0;
while ($users1=mysql_fetch_assoc($list)) {
echo "<tr>";
echo "<td>".$users1['pid']."</td>";
echo "<td>".$users1['name']."</td>";
echo "<td>".$users1['price']."</td>";
//set total to the price + the previous total
$total = $users1['price']+$total;
echo "</tr>";
}
//display total
echo '<tr><td></td>';
echo '<td>Total:</td>';
echo '<td>'.$total.'</td></tr>';
?>
</table>
</body>
</html >
Другой способ суммирования строк данных — в самом запросе SQL, используя ГРУППА ПО .. С РОЛЛУПОМ (док).
Пример:
SELECT Number, Min(Name) AS Name, SUM(amount) AS Price
FROM grocery_list
GROUP BY Number WITH ROLLUP
Будет производить вывод:
Number Name Price
1 bread 2.00
2 milk 2.00
3 janabab 6797994.00
4 jajajsh 846494.00
NULL bread 7644492.00
Линия с NULL — это МИНУТА (имя), СУММА (цена) по ВСЕ записи для группы «Номер».
Затем вы можете отфильтровать выходные данные, основываясь на том, какое поле имеет значение NULL, чтобы определить, как их отображать.
Может быть, вам нужно просто суммировать результаты в специальной переменной?
$sum = 0;
while ($users1=mysql_fetch_assoc($list)) {
$sum += $users1['price'];
echo '<tr>';
echo '<td>'.$users1['pid'].'</td>';
echo '<td>'.$users1['name'].'</td>';
echo '<td>'.$users1['price'].'</td>';
echo '</tr>';
}
echo '<tr>';
echo '<td></td>';
echo '<td>Total</td>';
echo '<td>'.$sum.'</td>';
echo '<tr>';
Не используйте двойные кавычки («) для строк. Используйте одинарные кавычки (‘);
И не используйте функции mysql_ *, они устарели.