从数据库中获取变量数据并在PHP中显示

从数据库中获取变量数据并在PHP中显示,php,javascript,sql,Php,Javascript,Sql,我想在php中传递inputbox数据的值及其显示,但php sql无法识别 <form name="form1"/> <input type="text" name="code1" value="D50" size="7" maxlength="10" onblur="chkidpro(this.value,'provider1');" /> <input type="text" name="code2" value="" size="7" maxlength="

我想在php中传递inputbox数据的值及其显示,但php sql无法识别

<form name="form1"/>
<input type="text" name="code1" value="D50" size="7" maxlength="10" onblur="chkidpro(this.value,'provider1');" />
<input type="text" name="code2" value="" size="7" maxlength="10"/>
<form/>

<script type="text/javascript">

var jvalue = form1.code1.value;

<?php $abc = "<script>document.write(jvalue)</script>"?> 

</script>

<?PHP 
$con = mysql_connect("localhost","abc_one","pass");
mysql_select_db("abc_one", $con);

echo $abc;// ITS PRINT AS D50

$c = 'D50';

//$c = $abc;

$result2 = mysql_query("SELECT * FROM tblmycode where code='$c';");

$tab = mysql_fetch_array($result2);

if($result2 === false)

{
die("Database Error");
}

if(mysql_num_rows($result2) == 0)

{
die("No Record Found");
}

var jvalue=form1.code1.value;

您需要了解后端和前端是如何工作的

PHP首先生成HTML服务器端,将其发送给用户,然后用户在浏览器中运行HTML并执行Javascript

所以当你写这篇文章时:

$abc = "<script>document.write(jvalue)</script>"
$abc=“document.write(jvalue)”
$abc
不是您的JavaScript的结果。它实际上是一个包含
document.write(jvalue)
的字符串

因此,您的方法是完全错误的-您不能将这样的变量传递给PHP

您需要做的是将字段值发送到服务器,以便脚本可以处理它们


阅读一些教程,如。

您显示的代码在服务器端工作,因此:

 <?php $abc = "<script>document.write(jvalue)</script>"?> 
意思是一行包含

<script>document.write(jvalue)</script> 
行并将jvalue设置为D50,当然,当浏览器遇到

<script>document.write(jvalue)</script>
document.write(jvalue)
它将运行它,并在客户机上显示jvalue的值,即D50

所有这些都将发生在客户端计算机上,而不是服务器上

所以这将在不久的将来发生,而不是现在

现在回到您的php文件

//$c = 'D50';    // lets ignore this   

$c = $abc;                                    // php runs this on server. 

// guess what now $c is '<script>document.write(jvalue)</script>'     

// then php tries to run this:

$result2 = mysql_query("SELECT * FROM tblmycode where code='$c';");
/$c='D50';//让我们忽略这一点
$c=$abc;//php在服务器上运行这个。
//猜猜现在$c是什么“document.write(jvalue)”吧
//然后php尝试运行以下命令:
$result2=mysql_查询(“从tblmycode中选择*,其中代码='$c';”;
现在,您的查询变得非常有趣:

SELECT * FROM tblmycode where code='<script>document.write(jvalue)</script>';
从tblmycode中选择*,其中code='document.write(jvalue)';
我希望你现在明白发生了什么


PS:mysql接口已被弃用请使用mysqli或PDO…

问题是…?请尝试回显$abc的长度以进行诊断,可能存在空值或其他空白。。如果是这样,请修改它…请指定什么不起作用或哪里卡住了?你不能这样混合JavaScript和PHP。请编辑你的问题,使它实际上是一个。。。问题。
$abc
将成为
文档。写入(jvalue)
,您没有剥离标签,我们在哪里做…?做什么<代码>去除标签()
?感谢@SeanWM的编辑我被困在这里。。。如果我替换
$c='D50'PHP SQL识别并记录显示/如果我替换
$c=$abc,这里没有问题未找到数据,我也尝试了修剪。但是
ECHO$abc其打印为D50谢谢你,嗯,我想使此表单不提交,当用户在inputbox中输入数据时,数据应显示在另一个文本框中相同的表单。是否可以将
$abc
转换为您不理解的php数据文本字符串():您无法在php中读取JavaScript变量或JavaScript代码的结果。时期如果您想使一些文本从一个字段显示在另一个字段中,请使用JavaScript。JavaScript用于客户端编程,PHP用于服务器端编程。您可以使用PHP呈现HTML页面。它是在服务器上运行的,而不是在用户的浏览器上运行的。而且,从技术上讲,不提交数据就无法实现这一点。如果要在PHP中使用该值,必须向服务器发送一些内容。我明白了,谢谢,还有一个问题,在PHPAJAX中有没有可能,比如如何在AJAX中制作,对不起,我不明白你的问题。如果你问如何使用AJAX,我不能帮你,因为你只需要学习它。但首先,您应该了解web开发的原则以及后端和前端之间的区别。不要在没有这些知识的情况下钻研PHP、JavaScript、SQL、AJAX等,因为你会创建糟糕的网站。
//$c = 'D50';    // lets ignore this   

$c = $abc;                                    // php runs this on server. 

// guess what now $c is '<script>document.write(jvalue)</script>'     

// then php tries to run this:

$result2 = mysql_query("SELECT * FROM tblmycode where code='$c';");
SELECT * FROM tblmycode where code='<script>document.write(jvalue)</script>';