ユーザーが特定の文字数 (5) を入力し、mysql のデータベース内のセルを自動的に更新できるシステムを php と javascript で作成しましたが、問題があります...時々システムがカウントされません+1の代わりに+2、コードを投稿します
$sql=mysql_query("select * from bare");
while($row=mysql_fetch_array($sql))
{
//se voglio fare sanitizer $name = mysql_real_escape_string($_POST['name']);
$id= $row['id'];
$cab=$row['cab'];
$qty=$row['qty'];
//echo "$id $cab $qty <br/>";
if(isset($_POST['submitbar']))
$name = $_POST['name'];
{
if( $name == $cab) {
echo '<p>';
$nqty = $qty+1;
mysql_query("UPDATE bare SET qty = $nqty WHERE cab = '$cab'");
echo "Hai aggiunto 1 elemento a $cab. Ora $cab vale $nqty";
echo '</p>';
} else {
//echo '<p>Non corrisponde a nessun codice a barre nel database<p>';
}
}
}
?>
<h1>Aggiorna le quantità utilizzando il Barcode</h1>
<form id="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input id="seleziona" type="text" name="name"><br>
<input type="submit" name="submitbar" value="Invia"><br>
</form>
<!--<script type="text/javascript">
$(function() {
$('input').charCount(25);
});
</script> -->
<script type="text/javascript">
//seleziona input automatico
$(document).ready(function(){
$('#seleziona').jqEasyCounter();
});
</script>
<script>
//invio automatico
$("#seleziona").keyup(function(){
if($(this).val().length == 5)
$('#form :submit').click();
})
</script>
その問題は
$nqty = $qty+1;
変数 $nqty がメモリに残っているため...