将Javascript变量解析为php查询

将Javascript变量解析为php查询,php,javascript,parsing,Php,Javascript,Parsing,我是php新手,仍然在学习javascript函数 我有一个问题,在php查询中包含javascript变量 我想根据不同类型的零件代码的计数创建事务代码。然后我必须用count得到值 <script language="javascript" type="text/javascript"> function getCode(){ var v =document.forms["form1"]["part_code"].value; <?php

我是php新手,仍然在学习javascript函数

我有一个问题,在php查询中包含javascript变量

我想根据不同类型的零件代码的计数创建事务代码。然后我必须用count得到值

<script language="javascript" type="text/javascript">
    function getCode(){
    var v =document.forms["form1"]["part_code"].value;
    <?php 
    $query = mysql_query("SELECT COUNT(*)+1 as count FROM TB_TRANSACTION where part_code = "<script>v;</script>"");
    $i=-1;
    while ($code_part = mysql_fetch_array($query))
    {
       $i++;
       ?>
       var getPartCode = <? echo $code_part['count'];?>;
       var x = document.forms["form1"]["part_code"].value;
       var y = document.forms["form1"]["location_code"].value;
       var z = document.forms["form1"]["date"].value;
       var a = (getPartCode + '/'+x +'/'+ y +'/'+ z);
       document.forms["form1"]["invent_code"].value = a;
       <?
    }
    ?>
</script>

函数getCode(){
var v=文件.forms[“form1”][“part_code”]。值;
var getPartCode=;
var x=文件.forms[“form1”][“part_code”]。值;
var y=document.forms[“form1”][“location_code”]。值;
var z=document.forms[“form1”][“date”]值;
变量a=(getPartCode+'/'+x+'/'+y+'/'+z);
文件。表格[“表格1”][“发明代码”]。数值=a;
这样的结果是
1/CPU/JKT/2013

我使用
按钮onClick=“getCode()”
不提交调用该函数


任何人都可以帮助我。

最好的方法是
Ajax

否则,请使用Cookies

例如:

<script type="text/javascript">
    document.cookie = "cookieName=cookieValue";
</script>

<?php 
   $phpVar =  $_COOKIE['cookieName'];
   echo $phpVar;
?>

document.cookie=“cookieName=cookieValue”;
你的代码

<script language="javascript" type="text/javascript">
    function getCode(){
    var v =document.forms["form1"]["part_code"].value;
     document.cookie = "cookieName="+v;
    <?php 
   $phpVar =  $_COOKIE['cookieName'];
    $query = mysql_query("SELECT COUNT(*)+1 as count FROM TB_TRANSACTION where part_code = '$phpVar'");
    $i=-1;
    while ($code_part = mysql_fetch_array($query))
    {
    $i++;
    ?>
    var getPartCode = <? echo $code_part['count'];?>;
    var x = document.forms["form1"]["part_code"].value;
    var y = document.forms["form1"]["location_code"].value;
    var z = document.forms["form1"]["date"].value;
    var a = (getPartCode + '/'+x +'/'+ y +'/'+ z);
    document.forms["form1"]["invent_code"].value = a;
    <?
    }
    ?>
</script>

函数getCode(){
var v=文件.forms[“form1”][“part_code”]。值;
document.cookie=“cookieName=”+v;

你不能用你尝试过的方式去做。有两种更好的方法

  • 使用
    Ajax

  • 使用饼干

    这里最好的方法是使用Ajax。在这里,我使用
    javascript
    Ajax
    。我正在创建一个新文件来创建响应(比如newfile.php),试试这个

    function getCode(){
            var v =document.forms["form1"]["part_code"].value;
            var x = document.forms["form1"]["part_code"].value;
            var y = document.forms["form1"]["location_code"].value;
            var z = document.forms["form1"]["date"].value;
            var xmlhttp;
    if (window.XMLHttpRequest)
      {  // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {   // code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        var getPartCode=xmlhttp.responseText;  //Getting the response from php file
        var a = (getPartCode + '/'+x +'/'+ y +'/'+ z); 
        document.forms["form1"]["invent_code"].value = a;
        }
      }
    xmlhttp.open("GET","newFile.php?q="+v,true);  //Sending request to newfile.php 
    xmlhttp.send();
            }
    </script>
    

    函数getCode(){
    var v=文件.forms[“form1”][“part_code”]。值;
    var x=文件.forms[“form1”][“part_code”]。值;
    var y=document.forms[“form1”][“location_code”]。值;
    var z=document.forms[“form1”][“date”]值;
    var-xmlhttp;
    if(window.XMLHttpRequest)
    {//IE7+、Firefox、Chrome、Opera、Safari的代码
    xmlhttp=新的XMLHttpRequest();
    }
    其他的
    {//IE6、IE5的代码
    xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
    }
    xmlhttp.onreadystatechange=函数()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200)
    {
    var getPartCode=xmlhttp.responseText;//从php文件获取响应
    变量a=(getPartCode+'/'+x+'/'+y+'/'+z);
    文件。表格[“表格1”][“发明代码”]。数值=a;
    }
    }
    xmlhttp.open(“GET”、“newFile.php?q=“+v,true);//向newFile.php发送请求
    xmlhttp.send();
    }
    
  • newfile.php

    <?php
    $value = $_GET["q"];  //getting the value sent through tthe ajax request
    $query = mysql_query("SELECT COUNT(*)+1 as count FROM TB_TRANSACTION where part_code = '$value'");
       $i=-1;
        while ($code_part = mysql_fetch_array($query))
        {
        $i++;
        echo $code_part['count'];
       }
    ?>
    

    您不能将
    php
    js
    代码组合在一个块中,并期望变量在两个块中都可用。您可以学习它提示-->使用“工具->查看源代码”您浏览器中的选项。php只能用于生成html/jscript页面。一旦生成的php完成并消失,您将面临代码中可能存在的任何类型的漏洞和安全漏洞。您正在使用的和应该使用的可能的副本。您还容易受到现代API的攻击,这将使您更容易使用我已经按照你的(Nathan Srivi)指令使用cookie,但仍然不起作用。我尝试使用javascript alert调用该cookie,但仍然不显示alert。脚本如下..函数getCode(){var v=document.forms[“form1”][“part_code”].value;document.cookie=“cookieName=”+v、 var getPartCode=alert(getPartCode);可以缩进您的代码吗?即使我知道您正在尝试做什么,阅读itraduns还是有点困难,我使用code igniter framework。我不知道如何加载视图。在脚本xmlhttp.open(“GET”,“newFile.php?q=“+v,true”)中,感谢您的回复
    <?php
    $value = $_GET["q"];  //getting the value sent through tthe ajax request
    $query = mysql_query("SELECT COUNT(*)+1 as count FROM TB_TRANSACTION where part_code = '$value'");
       $i=-1;
        while ($code_part = mysql_fetch_array($query))
        {
        $i++;
        echo $code_part['count'];
       }
    ?>