如何在javascript中传递数组值

时间:2013-01-13 13:59:30

标签: php javascript

我想在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>

3 个答案:

答案 0 :(得分: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');";
}

注意 - 我不会自己使用上面的语法,这是唯一一次可以将变量写为$row[id]。我更喜欢

echo "d.add('" . $row['id']. "','" . $row['pid']. "'...

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您的代码无效,因为您尚未定义$id$pid等的值。也就是说,假设您的文本是UTF-8编码,您可以使用json_encode()来正确编码PHP数据类型:

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年是last updated!您可能希望研究更新,更好的替代方案,例如https://stackoverflow.com/questions/1710114/jquery-tree-plugin中提到的那些。