美文网首页
html读输入,ajax传给php,php调mysql匹配,ph

html读输入,ajax传给php,php调mysql匹配,ph

作者: Julianne_zhang | 来源:发表于2020-02-29 15:50 被阅读0次

    html部分:

    <html>
    <head>
        <meta charset="UTF-8">
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    </head>
    <body>
    <input id="cardno" type="text" size="25" > 
    <input id="phoneno" type="text" size="15" > 
    <br>
    <input  type="button" value="确定" onclick="checkCard()">
    </body>
    
    <script type="text/javascript">
    function checkCard(){
       card = document.getElementById('cardno').value;
       phone = document.getElementById('phoneno').value;  //   jquery形式:  phone=$("#phoneno").val();
    
    $.ajax({
        async:false,   // 默认是true异步;false为同步,同步的话先执行完ajax才执行后面的 
        type: 'POST',
        url: 'shi.php',   //  这里是调用的php页面的路径
        data:  {card:card,phone:phone},
        //dataType: 'json', // 注意:这里是指希望服务端返回json格式的数据
        success: function(data) { // 这里的data就是json格式的数据
            alert(data);
        },
        error: function() {
            alert("false")
        }
    });
    
    }
    
    </script>
    
    </html>
    

    shi.php页面:

    <?php
    include("conn.php");    //  加入自己的连接文件
    //$phone=trim($_POST['phone']) ; 
    //$card=trim($_POST['card']) ; 
    
    //echo "shoudao:".$phone,$card;
     
    $sql=mysqli_query($conn," select phone,num from tijian where id='$card' ");
    // $conn这个变量名在你自己的连接文件里哈,phone,num,id 是你数据库里的列名,tijian是表名
    
     if(!$sql->num_rows)
         exit("无此ID号码!");  // 库里没找到匹配信息的话返回("无此ID号码!"
     else
     {
        $row= mysqli_fetch_array($sql);
        if(trim($row[0])==$phone)   //  从库里出来的串长个心眼,最好trim一下
        {
           echo "php调用mysql库匹配成功";
    
      //  如果只返回成功信息的话,就到以上好了,下面是继续调用python的部分
    
           $params = trim($row[1]); #传递给python的参数  
         // echo "php从库里抽出的、传给python的值:".$params;
           $path="D:\Anaconda3\python hell.py ";  //需要注意的是:末尾要加一个空格,
    // 而且粘回去代码的最好自己重新敲下这个空格,因网页上总有编码问题,笔者可是因为看不见的非法字符给坑过!所以这里要敲黑板!!!
           passthru($path.$params);  //等同于命令`python python.py 参数`,调用python
    
        }
        else { echo "匹配不成功!";  } 
      }   
    
    ?>
    

    hell.py文件

    #!D:\Anaconda3\python.exe
    ##-*- coding:utf-8 -*-
    import codecs, sys
    import json
    import pymysql
    sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)   #与php的连接
    
    params = sys.argv[1]  #即为获取到的PHP传入python的入口参数 sys.argv[0] 是hell.py文件名,
    print("php传过来的值是:",params)     
    ##########################################################################
    # 如需数据库连接的话,继续以下
    # 打开数据库连接
    db = pymysql.connect("数据库地址", "数据库名", "用户名", "密码", charset='utf8' )
    # 使用cursor()方法获取操作游标 
    cursor = db.cursor()
    # SQL 查询语句 
    #sql = "SELECT * FROM user1 WHERE n > %s" % (1)
    sql = "SELECT * FROM tijian WHERE num =  %s" % (params)  
    #以上查询语句 依据自己情况写
    
    # 使用 fetchone() 方法获取一条数据
    cursor.execute(sql)   
    data = cursor.fetchone()      
    print("python调用mysql后返回给php的值:",data)
    
    db.close()
    

    相关文章

      网友评论

          本文标题:html读输入,ajax传给php,php调mysql匹配,ph

          本文链接:https://www.haomeiwen.com/subject/jlvphhtx.html