Peter Leupold Peter Leupold - 2 months ago 12
PHP Question

Change value of HTML-input field with PHP

With PHP I generate something like this:

<td><input type="text" id="total" disabled value="0"> </td>
<td>Field 1:</td>
<td><input type="text" id="field1" value="1"> </td>
<td>Field 2:</td>
<td><input type="text" id="field2" value="2"> </td>

Now the first input ("total") should contain the sum of all the "field" inputs. Summing them in a PHP variable is not a problem. But once I am down at the end of the table, can I change the value of "total"?

Workarounds I can think of are

  • placing the total at the end; but then my page would not look the way I desire.

  • do the loop through the data twice, first to do the sum, then to write the HTML. But that looks inefficient.

  • storing the sum in a hidden input and writing it later with javascript.

So, again, can I still change the value of "total" with PHP after having generated the entire table?


Well, you can still do it in PHP if that's what you need/want to. Just don't echo your data inside the loop, store the output in 2 variables and print it after the loop in the order you need. Something like this

$total = 0; $bodytr = "";

    $total += $i;
    $bodytr .= "<tr><td>$i</td></tr>\n";

echo "<table>\n";
echo "<tr><td>$total</td></tr>\n";
echo $bodytr;
echo "</table>";