在 while 循环中使用 php 字符串作为 javascript 函数的参数
Using a php string as an argument in javascript function in a while loop
我正在尝试创建一个 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');
尝试评论这一行:
// $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>";
你不是转义引号。
$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>
我正在尝试创建一个 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');
尝试评论这一行:
// $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>";
你不是转义引号。
$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>