>백엔드 개발 >PHP 튜토리얼 >关于扫条码的问题

关于扫条码的问题

WBOY
WBOY원래의
2016-06-23 13:26:591219검색

hp表
id         name(货品名称)       kucun(库存)       danwei(单位)         danjia(出库单价)           tiaoma(条码)
1           .................................................................................................................                 1234



     
           
     
     
           
     
扫条码:

                        
                         
                        
                        
                        
                        
                        
                        
                        
                        
                         请问在文本tiaoma中扫入1234后,怎么自动将hp表中id为1的相关信息显示在这里???
                      
关于扫条码的问题 货品名称 库存 数量 单位 单价 合计

           


回复讨论(解决方案)

并且每次扫完读取到货品后,自动将文本tiaoma清空(以便扫另一个物品),并且光标显示在文本tiaoma里

你需要用到ajax

你需要用到ajax



请帮忙写一下

有人帮忙写下吗?

是扫了条形码后跳转到这个页面吗?
select * from hp where tiaoma='1234';

找到记录后echo出来。

是扫了条形码后跳转到这个页面吗?
select * from hp where tiaoma='1234';

找到记录后echo出来。



我的意思是,每扫一个就在下面显示一个,扫几个就显示几个

扫完,提交到php,然后返回内容,用js加一个table就可以了。
ajax操作。

问题是你扫的程序是怎样的。

扫完,提交到php,然后返回内容,用js加一个table就可以了。
ajax操作。

问题是你扫的程序是怎样的。


不会AJAX,你能帮忙写一下吗?
扫的程序就是一个表单提交,在文本框里扫了条码后,文本框里就会出现一串数字,然后再提交

在网上搜到一个类拟的:

    


         
        <script></script>
        <script> <br /> $(document).ready(function (){ <br /> //$("#name").focus(); input框输入内容然后刷新页面,input框内容还在(firefox) <br /> clearText(); // 改用clearText <br /> $("#addBtn").click(function (){ <br /> $("#table1").append(getNewRow()); <br /> clearText(); <br /> }); <br /> $("#table1").on('click', ".delBtn", function (){ <br /> $(this).parent().parent().remove(); <br /> }); <br /> }); <br /> function clearText(){ <br /> $("#name").val(""); <br /> $("#name").focus(); <br /> } <br /> function getNewRow(){ <br /> var btn = $("<input class='delBtn' type='button' value='删除' />"); <br /> var newRow = $("<tr>").append($("<td>").append( $("#name").val())) <br /> //1、怎么在这里提交到PHP? <br /> //2、怎么让红色$("#name").val()这个显示为PHP返回来的数据库的值? <br /> .append($("<td>").append(btn)); <br /> return newRow; <br /> } <br /> </script>

    
    
        
            
                
                
            
        
名称:

        
            
                
                
            
        
名称 操作

    

3、怎么在这个里输入条码后直接添加一行,而不需要点击??

http://www.cnblogs.com/Johnny_Z/archive/2012/06/17/2552597.html

为什么下面的代码不行呢?错在哪呢?
<script> <br /> $(document).ready(function (){ <br /> //$("#name").focus(); input框输入内容然后刷新页面,input框内容还在(firefox) <br /> clearText(); // 改用clearText <br /> $("#addBtn").click(function (){ <br /> $("#table1").append(getNewRow()); <br /> clearText(); <br /> }); <br /> $("#table1").on('click', ".delBtn", function (){ <br /> $(this).parent().parent().remove(); <br /> }); <br /> }); <br /> function clearText(){ <br /> $("#name").val(""); <br /> $("#name").focus(); <br /> } <br /> <br /> function getNewRow(){ <br /> $.get("/oa/oa_api.php?act=get_oa_vip",{ //为什么这里没有用 <br /> vip:$("#name").val(), <br /> async:false, <br /> rand: Math.random() <br /> },function(data){ <br /> if(data.status.code=="1") <br /> { <br /> //成功 <br /> var jifen = data.record.jifen; <br /> var xy_id = data.record.xy_id; <br /> var btn = $("<input class='delBtn' type='button' value='删除' />"); <br /> var newRow = $("<tr>").append($("<td>").append(xy_id)) <br /> .append($("<td>").append(jifen)) <br /> .append($("<td>").append(btn)); <br /> return newRow; <br /> } <br /> else <br /> { <br /> alert('读取数据错误!'); <br /> } <br /> },"json"); <br /> } <br /> </script>


            
                
                
            
        
名称:

        
            
                
                
            
        
名称 操作


oa_api.php如下:
if($action == 'get_oa_vip')
{
if ( !(isset($_SESSION['userid']) && $_SESSION['userid'] > 0) )
{
ajax_error('请先登录!');
exit;
}

//取school_id 如果没有school_id则退出
$sql = "select schoolID from " . $fdyu->table('users') . " where user_id=" . $_SESSION['userid'];
$school_id = $db->getOne($sql);
if($school_id  {
ajax_error('您不属于任何学校,无法使用该功能!');
exit;
}

$vip = $_GET['vip'];

$ajax = array();

$sql = "select xy_id,jifen from " . $fdyu->table('oa_vip') . " where vip='" . $vip . "' and school_id=" . $school_id . "";
$res = $db->query($sql);
if($res)
{
$ajax['status']['code'] = '1'; //成功
$ajax['record']['jifen'] = $row['jifen'];
$ajax['record']['xy_id'] = $row['xy_id'];
}

echo json_encode($ajax);
exit;
}

经过一层层排查,PHP返回的值也获取到了,现在就是不知道怎么把获取到的值放到


             
                 
                 
             
         
名称 操作

这个里去,也就是下面这一段有问题,请问应该怎么写?
var newRow = $("").append($("").append(xy_id))
.append($(" ").append(jifen))
 .append($(" ").append(btn));
return newRow;

$,post(url,{args:args},function(data){
    alert(data);
})

通过异步获取结果集

$.ajax({  
       type: "POST", //用POST方式传输         
       url: 'f.php', //目标地址.  
         dataType: "json", //数据格式:JSON  
       //data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code,  
         data: "&a="+mobile,  
       success: function(json){   
            if(json.msgid==1){//成功的处理  
                alert(json.html);  
            }  
            else if(json.msgid==2){//失败的处理  
                alert(json.html);  
            }  
            else{  
                alert(json.html);  
            }  
         }  
     });  

成功后,用jquery事件,加入

var newRow = $("

").append($("").append(xy_id))
.append($(" ").append(jifen))
 .append($(" ").append(btn));
return newRow;


试下

现在我的程序已经能正常获取到返回的值,
if(data.status.code=="1")
{
//成功
var jifen = data.record.jifen;
var xy_id = data.record.xy_id;//这里能正常获取到了
....

现在我的问题就是,怎么将获取到的值插入到下面的table里


             
                 
                
                 
             
名称 积分 操作

谁能告诉我怎么写?

现在我的程序已经能正常获取到返回的值,
if(data.status.code=="1")
{
//成功
var jifen = data.record.jifen;
var xy_id = data.record.xy_id;//这里能正常获取到了
....

现在我的问题就是,怎么将获取到的值插入到下面的table里


             
                 
                
                 
             
名称 积分 操作

只需要回答我这个问题就行了,不要写新的方法了

都一个月了,还没解决?
网上动态添加表行的 js 代码多了去了,一个月都找不到适合你的?

不知道搜什么关键字,所以一直等答案
现在就差最后一步了,拜托帮我写一下,我现在去网上搜肯定与我现在写的不一样,我又得研究老久了

有人帮忙写一下不?

<table id="table1" border="1"> <tr>  <td>名称</td>  <td>积分</td>  <td>操作</td> </tr></table><script>var t = document.getElementById('table1');var tr = t.insertRow();var td1 = tr.insertCell();td1.innerHTML = 1;var td2 = tr.insertCell();td2.innerHTML = 2;var td3 = tr.insertCell();td3.innerHTML = 3;</script>

能看明白吗?

可以了,谢谢
但还有一个问题麻烦一下你,就是同一条码不能重复添加应该怎么弄?

弄好了
换了种写法:
function getNewRow(){
$.get("/oa/oa_api.php?act=get_oa_vip",{
vip:$("#name").val(),
async:false,
rand: Math.random()
},function(data){
if(data.status.code=="1")
{
//成功
var jifen = data.record.jifen;
var xy_id = data.record.xy_id;
if( $("#tr_"+xy_id).length > 0 )
{
clearText();
return false;
}
var btn = '';
var trHtml;
trHtml = '

';
trHtml += '' + xy_id + '';
trHtml += '' + jifen + '';
trHtml += '' + btn + ' ';
$("#table1").append(trHtml);
clearText();
}
},"json");
            }
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.