繁体   English   中英

将 php 变量解析为 javascript 可读变量时遇到问题

[英]Having trouble parsing php variable to javascript readable variable

This is my first project in database management and it's been awhile since I've coded any html, php, or javascript and I'm very new to sql in general. 我知道理想情况下 html、php、css 和 ZDE9B9ED78D7E2E1DCEEFFEE780E2F9 应该放在单独的文件中但是,我的问题是尝试将 php 变量放入我的脚本 function 中。 function 如下。 这是使用 Apache localhost 服务器,因为它不是实时页面,MySQL 和 XAMPP 控制面板 v3.2.1

我试过: var data = "<?php echo $data2dArr[0][0]; ?>"; 就像测试代码一样,但无法获得要填充的值,它甚至不执行使可见的代码。 我也试过在 onclick function 调用这个: <script> var data = "<?php echo $data2dArr[0][0]; ?>";</script>

<?php echo $data2dArr[0][0]; ?>

作为 function 参数。 加上我在堆栈上发现的大约六种其他不起作用的解决方案。 我想知道是否需要调整设置以使服务器确认 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;
   }
}

理想情况下,它应该从数据的列和行中显示正确的数据,以便用户可以更改数据并将其发送回数据库以更新条目。 (我不需要 sql 语句的帮助,只需从 php 获取数据。)任何帮助将不胜感激。

尝试:

<?php var_dump($data2dArr); ?>

这将转储整个变量。 如果 $data2dArr 未定义,PHP 将 output 出错(如果您的配置允许这样做)。 如果它被定义,它不仅应该告诉你类型,还应该告诉你内容。

在 PHP 标签中尝试 echo 'test'; 它显示吗? 如果是,$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;
        }
    }

设置数据的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 }

以及调用脚本的onclick:

<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>

最初,我故意含糊其辞,因为我没有要求人们为我做作业。 我发现问别人的问题通常可以帮助我找出解决方案。 我正在为可能遇到相同问题的未来人发布答案。 感谢所有回复的人。 This is using PHP, HTML, SQL, and javascript in one PHP file.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM