将Javascript变量解析为php查询
我是php新手,仍然在学习javascript函数 我有一个问题,在php查询中包含javascript变量 我想根据不同类型的零件代码的计数创建事务代码。然后我必须用count得到值将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
<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'];
}
?>