我正在尝试创建一个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');
答案 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>