无法将php变量解析为javascript可读变量
这是我在数据库管理方面的第一个项目,自从我编写html、php或javascript代码以来已经有一段时间了,而且我对sql基本上还是个新手。我知道理想情况下html、php、css和javascript应该放在单独的文件中。然而,我的问题是试图在脚本函数中加入一个php变量。函数如下所示。 这是使用ApacheLocalHostServer,因为它不是一个活动页面、MySQL和XAMPP控制面板v3.2.1 我试过:无法将php变量解析为javascript可读变量,javascript,php,html,Javascript,Php,Html,这是我在数据库管理方面的第一个项目,自从我编写html、php或javascript代码以来已经有一段时间了,而且我对sql基本上还是个新手。我知道理想情况下html、php、css和javascript应该放在单独的文件中。然而,我的问题是试图在脚本函数中加入一个php变量。函数如下所示。 这是使用ApacheLocalHostServer,因为它不是一个活动页面、MySQL和XAMPP控制面板v3.2.1 我试过: var数据=”就像测试代码一样,但无法获得要填充的值,它甚至不执行“使可见”
var数据=”代码>就像测试代码一样,但无法获得要填充的值,它甚至不执行“使可见”代码。
我还尝试了onclick函数调用:
var数据=”代码>以及:
<?php echo $data2dArr[0][0]; ?>
作为函数参数。
再加上我在堆栈上找到的六个其他解决方案,它们都不起作用。我想知道是否有一个设置需要调整,以便让服务器确认javascript中的PHP代码
function editFunction(row, columnCount) {
// set the data for the boxes and make them visibile
for (column = 0; column < columnCount; column++) {
document.getElementById(column).style.visibility = "visible";
var data = <?php echo json_encode($data2dArr[column][row]); ?>;
document.getElementById("box" + column).value = data;
}
}
function编辑函数(行、列计数){
//设置框的数据并使其可见
对于(列=0;列<列计数;列++){
document.getElementById(列).style.visibility=“可见”;
var数据=;
document.getElementById(“框”+列)。值=数据;
}
}
理想情况下,它应该显示数据列和数据行中的正确数据,以便用户可以更改数据并将其发送回数据库以更新条目。(我不需要sql语句的帮助,只需要从php获取数据。)任何帮助都将不胜感激。在php标记中尝试echo'test';
它显示了吗?
如果是,是否按预期填充$data2dArr?
如果否,您确定您的服务器已设置为在您尝试的任何文件类型中执行PHP吗
<?php var_dump($data2dArr); ?>
这将转储整个变量。如果$data2dArr未定义,PHP将输出一个错误(如果您的配置允许)。如果定义了,它不仅会告诉您类型,还会告诉您内容。好的,所以我知道我做错了什么。我曾尝试调用getElementbyID获取值,但从未尝试过innerHTML。这是工作代码
function editFunction(row, columnCount) {
// set the data for the boxes and make them visibile
for (column = 0; column < columnCount; column++) {
document.getElementById(column).style.visibility = "visible";
document.getElementById("box" + column).value = document.getElementById("row" + row + "column" + column).innerHTML;
}
}
function编辑函数(行、列计数){
//设置框的数据并使其可见
对于(列=0;列<列计数;列++){
document.getElementById(列).style.visibility=“可见”;
document.getElementById(“框”+列).value=document.getElementById(“行”+行+“列”+列).innerHTML;
}
}
设置数据的php:
<!--- row number from table --->
<?php for ($j = 0; $j <= count($data2dArr[0]); $j++) {
if ($j < count($data2dArr[0])) {?>
<tr>
<!--- column number from table --->
<?php for ($k = 0; $k <= count($fields); $k++) {
if ($k < count($fields)) { ?>
<td style="width: 7em" id="row<?php echo $j ?>column<?php echo $k ?>" ><?php print $data2dArr[$k][$j]; ?></td>
<?php }
从结果来看,你实际看到了什么?你在网页上看到的最后一个JavaScript是什么?这个JavaScript位于PHP文件还是JS文件中?这里有太多未知项。当您右键单击网页并选择“查看页面源”时,您会看到什么?您是否看到var数据=;是的,我知道数据是什么,但是谢谢你的提示。回声测试确实有效。我在下面发布了我找到的解决方案。谢谢
<button id="edit<?php echo $j ?>" type="button" class="btn btn-default btn-outline-dark"
onclick="editFunction(<?php echo $j ?>, <?php echo count($fields) ?> )">
<span class="fa fa-edit"></span> Edit
</button>