0

javascriptでphpの値を渡したいです。クエリを実行し、if ステートメントと while 配列を JavaScript に適用します。ただし、常に空の結果を表示します。問題が見つかりません。誰でも私を助けてください。ありがとう

<?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()を使用して JavaScript で 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 年です。https://stackoverflow.com/questions/1710114/jquery-tree-pluginに記載されているような、より新しく、より優れた代替手段を検討することをお勧めします。

于 2013-01-13T14:55:49.553 に答える