我想回显行数(假设行数= 3).如果用户单击该数字(我正在从while循环中传递1个参数),则数据会发出警报但问题是
- 如果我在 while 循环中回显数字,那么所有行(相关的 3 行数据)都会在 onclick 事件时发出警报,但数字显示 3 次,如 333。
- 如果我在 while 循环之外回显,则显示一次行数,但只有一个结果传递给函数。
我也使用了count(col),但这样只能检索一个结果。
任何解决方案可以一次显示行数,但将$uid(在while循环中)的所有结果传递给onclick函数?请帮忙。
$sql=mysqli_query($this->db->connection,"SELECT * from user_data where scid='$scid'");
$num=mysqli_num_rows($sql);
while($row=mysqli_fetch_array($sql)){
$uid=$row['uid'];
?>
<span onclick=o4_sameby_scid(<?php echo $uid; ?>)><?php echo $num ?></span>
<script type="text/javascript">
function o4_sameby_scid(o4_id) {
alert(o4_id);
}
</script>
<?php
}
我认为您的问题是您将代码的错误部分嵌套在while
循环中。这种方法呢?
<?php
$sql=mysqli_query($this->db->connection,"SELECT * from user_data where scid='$scid'");
$num=mysqli_num_rows($sql);
$allvalues = array();
// Do all looping before any echoing
while($row=mysqli_fetch_array($sql)){
// add this row's value to an array of all values
$allvalues[] = $uid=$row['uid'];
}
// implode this array
$valuesascsv = implode(', ', $allvalues);
// This is echo'd outside of the loop, because we only need to see it one time
echo '<span onclick=o4_sameby_scid("'. $valuesascsv .'")>'. $num .' results found! </span>';
?>
<script type="text/javascript">
function o4_sameby_scid(o4_id) {
alert(o4_id);
}
</script>
这应该输出:
<span onclick=o4_sameby_scid("uid#1, uid#2, uid#3")>3 results found!</span>
<script type="text/javascript">
function o4_sameby_scid(o4_id) {
alert(o4_id);
}
</script>
单击任何行计数应提醒所有 UID。
这是您要找的行为吗?