当相同的值已经存在时动态更新数量(JavaScript/PHP/SQL)
1-addlist.php 在这个页面中,我只有一个文本输入。我可以扫描一个条形码,在输入中给我一个文本结果(例如:“香蕉”) 2-validaiton.php 这个页面连接我的SQL数据库并检查我的另一个页面(addlist.php)的文本框中的值是否在我的数据库中 3-addlist.php 如果该值存在于DB中,则设置一条消息并将该值放入列表中。如果没有,则设置其他消息,不执行任何操作 /!\仅供参考:我有一个条形码扫描仪,所以我无法按下按钮或显示列表中的值。所以我选择设置一个计时器,每800毫秒,它就会取一个值并清除。有了它,我可以扫描一个值,显示并动态清除它,而无需触摸键盘。/!\ addlist.php当相同的值已经存在时动态更新数量(JavaScript/PHP/SQL),javascript,php,mysql,sql,Javascript,Php,Mysql,Sql,1-addlist.php 在这个页面中,我只有一个文本输入。我可以扫描一个条形码,在输入中给我一个文本结果(例如:“香蕉”) 2-validaiton.php 这个页面连接我的SQL数据库并检查我的另一个页面(addlist.php)的文本框中的值是否在我的数据库中 3-addlist.php 如果该值存在于DB中,则设置一条消息并将该值放入列表中。如果没有,则设置其他消息,不执行任何操作 /!\仅供参考:我有一个条形码扫描仪,所以我无法按下按钮或显示列表中的值。所以我选择设置一个计时器,每8
var list=document.getElementById('demo');
$(文档).ready(函数()
{
普京();
函数{
var focused=$(“:focus”);
$(“#IDAlim”).focus();
focus.focus();
var IDAlim=document.getElementById('IDAlim').value;
var quantite=“1”;
var entry=document.createElement('li');
如果(IDAlim!=“”)
{
$.post('validation.php',{IDAlim:$('#IDAlim').val()},函数(数据){
if(data.exists){
警报('Is in DB');
$(“#demo”).append(“”+IDAlim++'+quantite++'x'+' ”);
}否则{
警报(“请重新扫描”);
}
}“JSON”);
setTimeout(函数(){putIn()},800);
$(“#IDAlim”).val(“”);
}
其他的
{
entry.appendChild(document.createTextNode(IDAlim));
setTimeout(函数(){putIn()},800);
$(“#IDAlim”).val(“”);
}
}
})
validation.php
<?php
//set the headers to be a json string
header('content-type: text/json');
//no need to continue if there is no value in the POST IDAlim
if(!isset($_POST['IDAlim']))
echo json_encode(array('non' => 'POSTError'));
//Variable for db connection
$host="localhost";
$user="root";
$pass="";
$dbname="aliments";
try
{
$dbcon = new PDO("mysql:host={$host};dbname={$dbname}",$user,$pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$query = $dbcon->prepare('SELECT nom FROM tblaliments WHERE nom = :nomAlim');
$query->bindParam(':nomAlim', $_POST['IDAlim']);
$query->execute();
//return the json object containing the result of if the IDAlim exists or not. The $.post in my jquery will access it.
echo json_encode(array('exists' => $query->rowCount()));
}
catch (Exception $e)
{
echo json_encode(array('non' => 'PDOError'));
}
?>
当我扫描同一个值时,我会更新我的数量,在我的例子中,我将挂起的“1”作为“quantite”(=法语中的数量)以向您展示一个示例
那是我的问题
我想要什么
提前感谢您的帮助,并为我的英语不好(我说法语)感到抱歉。您能给我们您的tblaliments表结构吗?
插入。。。在重复密钥更新时…
将是sql端的答案
<?php
//set the headers to be a json string
header('content-type: text/json');
//no need to continue if there is no value in the POST IDAlim
if(!isset($_POST['IDAlim']))
echo json_encode(array('non' => 'POSTError'));
//Variable for db connection
$host="localhost";
$user="root";
$pass="";
$dbname="aliments";
try
{
$dbcon = new PDO("mysql:host={$host};dbname={$dbname}",$user,$pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$query = $dbcon->prepare('SELECT nom FROM tblaliments WHERE nom = :nomAlim');
$query->bindParam(':nomAlim', $_POST['IDAlim']);
$query->execute();
//return the json object containing the result of if the IDAlim exists or not. The $.post in my jquery will access it.
echo json_encode(array('exists' => $query->rowCount()));
}
catch (Exception $e)
{
echo json_encode(array('non' => 'PDOError'));
}
?>