0

我想在 javascript 中传递 php 值。我在 javascript 上运行查询并应用 if 语句和 while 数组。但总是显示空结果。我找不到问题。任何人请帮助我。谢谢

<?php
session_start();
$SUserName=$_SESSION['view'];
include 'dbconnect.php';

$query="select * from user_permission where username='$SUserName'";
$result=mysql_query($query) or die (mysql_error());

?>



        <script type="text/javascript">

        d = new dTree('d');
        d.add(0,-1,'Dhuronto');
        <?php
                if($SUserName=='sumon@dhuronto.com')
                    {
                    echo "d.add(1,0,'Admin','blank.php', 'Admin', 'main');";

                    }
                    else {
                        while ($row = mysql_fetch_array($result))
                            {
                     echo "d.add('$id','$pid','$node','$url', '$node', 'main');";
                            }
                    }

                ?>

</script>
4

3 回答 3

0

您正在使用列的名称,就好像它们是变量一样。您需要从数组中获取它们:

while ($row = mysql_fetch_array($result))
{
    echo "d.add('{$row['id']}','{$row['pid']}','{$row['node']}','{$row['url']}', '{$row['node']}', 'main');";
}
于 2013-01-13T14:23:42.307 回答
0

'$id'、'$pid'、'$node'、'$url'、'$node' 来自哪里?

while ($row = mysql_fetch_array($result))
{
   echo "d.add('$id','$pid','$node','$url', '$node', 'main');";
}

你的意思

while ($row = mysql_fetch_array($result))
{
   echo "d.add('$row[id]','$row[pid]','$row[node]','$row[url]', '$row[node]', 'main');";
}

注意 - 我自己不会使用上述语法,这是您唯一可以将 vars 编写为$row[id]. 我更喜欢

echo "d.add('" . $row['id']. "','" . $row['pid']. "'...
于 2013-01-13T14:20:18.870 回答
0

您的代码不起作用,因为您没有为$id$pid等定义值。也就是说,假设您的文本是 UTF-8 编码的,您可以使用json_encode()对 PHP 数据类型进行正确的 JavaScript 编码:

while ($row = mysql_fetch_array($result))
{
    // I don't know your database schema, so this could be wrong
    $args = array(
        $row['id'], 0, htmlspecialchars($row['username']),
        'blank.php', '', 'main'
    );

    // echo 'd.add.apply(d,' . json_encode($args) . ');';
    echo 'd.add(' . implode(',', array_map('json_encode', $args)) . ');';
}

请注意,dTree 是一种过时的 JavaScript 库,已经落后于当前的最佳实践。它最后一次更新是在 2003 年!您可能想研究更新、更好的替代方案,例如https://stackoverflow.com/questions/1710114/jquery-tree-plugin中提到的替代方案。

于 2013-01-13T14:55:49.553 回答