在while循环中使用php字符串作为javascript函数中的参数

时间:2015-08-28 08:34:42

标签: javascript php string function arguments

我正在尝试创建一个javascript函数,其中第一个参数是一个数字,第二个参数是一个字符串。我的代码如下,我在这里添加了一条注释,以便于阅读。

while ($dbsearch = mysqli_fetch_assoc($run_query)) {

    //define 3 vables. Example $dbu = 'Bill.Gates'
    //Example $id = 123
    // example $func using the values above should say add(123,'Bill.Gates')

    $dbu = $dbsearch['Username'];
    $id = $dbsearch['PlayerID'];
    $func = "add(" . $id . ",'" . $dbu . "')";

    //this is a string to output the results of an SQL search. It is working fine. The 
    // $func is inserted toward the end in the submit button.

    echo "<tr><td>" . $id . "</td><td>" . $dbu 
    . "</td><td><input type='submit' id='PlayerAdded" . $id 
    . "' value='Add' onclick='" . $func . "'></input></td></tr>";
}

提交按钮的目的是在活动中添加玩家名称作为注册玩家。

我已经尝试将$func变量更改为仅为两个参数输出$id,但是我无法输出字符串(人名)。

我该如何解决这个问题?

补充:对不起,如果我的问题不明确。我想知道如何让add函数接受一个字符串作为参数。例如

add(123,'Bill Gates');

2 个答案:

答案 0 :(得分:1)

尝试评论此行:

// $func = "add(" . $id . ",'" . $dbu . "')";

然后在你的回声中:

echo "
<tr>
   <td>" . $id . "</td>
   <td>" . $dbu . "</td>
   <td>
       <input type='submit' id='PlayerAdded" . $id . "' value='Add' onclick='add(" . $id . ", \'" . $dbu ."\');' />
   </td>
</tr>";

答案 1 :(得分:0)

你不是逃避报价。     

$dbsearch = array(array('Username' => 'First User', 'PlayerID' => 1),
                  array('Username' => 'Second User', 'PlayerID' => 2));

echo '<table>';
foreach ( $dbsearch as $db ) {

  $func = 'add(' . $db['PlayerID'] . ', \'' . $db['Username'] . '\')';
  echo '<tr>
          <td>' . $db['PlayerID'] . '</td>
          <td>' . $db['Username'] . '</td>
          <td><input type="submit" id="PlayerAdded' . $db['PlayerID'] . '" value="Add" onclick="' . $func . '"></td>
        </tr>';
}
echo '</table>';

?>

<script type="text/javascript">
  function add( id, name ) {
    document.write( 'Id: ' + id + ', Name: ' + name );
  }
</script>