Как суммировать значение текстового поля и отображать его. Например, значение текстового поля равно 1 и 2, а в другом текстовом поле отображается 3. Пожалуйста, помогите мне решить проблему. Спасибо ~
$name = $row['Name'];
$data2 = mysql_query("SELECT * FROM tblstockmgt WHERE ItemName ='$name'") or die(mysql_error());
while($row2= mysql_fetch_array( $data2 ))
{
echo "<td align='right'><input type='text' name='txt[]' value='".$row2['Price']."'/></td>";
}
Просто создайте varabile $total
и всегда вставляйте его, а после цикла запишите значение в текстовое поле:
$total = 0;
while($row2= mysql_fetch_array( $data2 )) {
echo "<td align='right'><input type='text' name='txt[]' value='".$row2['Price']."'/></td>";
$total += $row2['Price'];
}
?>
</tr>
<tr>
<td>Total: <input type="textbox" name="total" value="<?php echo $total; ?>" /></td>
</tr>
Избегайте SQL-инъекций, давайте избегнем ваших строк в вашем запросе.
Используйте mysqli или PDO вместо функций mysql, потому что функции mysql устарели.
$total = 0;
while($row2= mysql_fetch_array( $data2 ))
{
echo "<td align='right'><input type='text' name='txt[]' value='".$row2['Price']."'/> </td>";
$total += $row2['Price'];
}
echo "<td align='right'><input type='text' name='txt[]' value='".$total."'/> </td>";
Используйте как это
$sum=0;
while($row2= mysql_fetch_array( $data2 ))
{
$sum += $row2['Price'];
echo "<td align='right'><input type='text' name='txt[]' value='".$sum."'/></td>";
}
Вы можете использовать jquery или переменную в вашем цикле.
Циклическое суммирование php
$sum = 0;
while($row2= mysql_fetch_array( $data2 ))
{
echo "<td align='right'><input type='text' name='txt[]' value='".$row2['Price']."'/></td>";
$sum += $row2['Price'];
}
echo $sum;
Версия Jquery
<div class="section">
while($row2= mysql_fetch_array( $data2 ))
{
echo "<td align='right'><input type='text' name='txt[]' value='".$row2['Price']."'/></td>";
}
<div id="mysum"></div>
</div>
<script>
$('.section').each(function(){
var totalPoints = 0;
$(this).find('input').each(function(i,n){
totalPoints += parseInt($(n).val(),10);
});
alert(totalPoints);
$('#mysum').html(totalPoints);
});
</script>
Версия PDO, пожалуйста, преобразуйте ваш скрипт из устаревшего примера mysql_fetch и т. Д.
try {
$name= mysql_real_escape_string($row['Name']);
$db = new PDO('mysql:host=localhost;dbname=tablename', 'user', 'password');
$stmt = $db->prepare('SELECT * FROM tblstockmgt WHERE ItemName:=this');
$stmt->bindValue(':this', $name, PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetchAll();
$sum = 0;
if ($stmt->rowCount() == 0) {
echo "No data";
die();
}
foreach ($results as $result) {
echo "<td align='right'><input type='text' name='txt[]' value='".$result['Price']."'/></td>";
$sum += $result['Price'];
}
echo $sum;
}
catch (PDOException $ex) {
die($ex->getMessage());
}