パーセンテージ バーを表示するスクリプトがあり、それを寄付の目標に使用して、ユーザーが特定の月に必要な金額を確認できるようにする予定です。これは現在のコードです:
<style>
.percentbar { background:#CCCCCC; border:1px solid #666666; height:25px; }
.percentbar div { background: #28B8C0; height: 25px; border-right:1px solid black }
</style>
</head>
<body>
<?php
include("config.php");
$data = mysql_query("SELECT * FROM donationgoal");
while ($info = mysql_fetch_array($data)) {
if (isset($_POST['add'])) {
$add = mysql_real_escape_string($_POST['add']);
$total = $info['total'] + $add;
}
mysql_query("UPDATE donationgoal SET total = ".$total." ");
$value = $info['total'];
}
echo $value;
// Testing numbers. Replace with your own.
$max = 100;
$scale = 2.0;
// Get Percentage out of 100
if ( !empty($max) ) { $percent = ($value * 100) / $max; }
else { $percent = 0; }
// Limit to 100 percent (if more than the max is allowed)
if ( $percent > 100 ) { $percent = 100; }
?>
<form method="post">
<input type="text" name="add" />
<input type="submit" />
</form>
<div class="percentbar" style="width:<?php echo round(100 * $scale); ?>px;">
<div style="width:<?php echo round($percent * $scale); ?>px;"></div>
</div>
Percentage: <?php echo $percent; ?>%
</body>
現在、これは完全に正常に機能します (テーブルが完全に更新されます) が、送信後にページが更新された後、バーは変化しません。変更される唯一の方法は、フォームを送信した後にページを手動で更新することです。最初の送信後にバーが更新されるようにする方法はありますか?