Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将php变量解析为javascript可读变量_Javascript_Php_Html - Fatal编程技术网

无法将php变量解析为javascript可读变量

无法将php变量解析为javascript可读变量,javascript,php,html,Javascript,Php,Html,这是我在数据库管理方面的第一个项目,自从我编写html、php或javascript代码以来已经有一段时间了,而且我对sql基本上还是个新手。我知道理想情况下html、php、css和javascript应该放在单独的文件中。然而,我的问题是试图在脚本函数中加入一个php变量。函数如下所示。 这是使用ApacheLocalHostServer,因为它不是一个活动页面、MySQL和XAMPP控制面板v3.2.1 我试过: var数据=”就像测试代码一样,但无法获得要填充的值,它甚至不执行“使可见”

这是我在数据库管理方面的第一个项目,自从我编写html、php或javascript代码以来已经有一段时间了,而且我对sql基本上还是个新手。我知道理想情况下html、php、css和javascript应该放在单独的文件中。然而,我的问题是试图在脚本函数中加入一个php变量。函数如下所示。 这是使用ApacheLocalHostServer,因为它不是一个活动页面、MySQL和XAMPP控制面板v3.2.1

我试过:
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>