我有一个while循环,用于将用户ID分配给变量。变量是一个数组。当我在这样的链接中将变量分配给另一个时:它会在点击时返回正确的ID,但仅当链接处于while循环时才会返回。如何(可能)将链接放在while循环之外并获得变量保存的相同ID数据?
此代码有效:
while ( $row = mysqli_fetch_array($sql)) {
$variable = $row['user_id'];
echo "<a href='index.php?var=$variable'></a>";
}
在这种情况下,这个没有:
PHP:
while ( $row = mysqli_fetch_array($sql)) {
$variable[] .= $row['user_id'];
}
HTML:
for ($i = 0 ; $i <100 ; $i++ );
<a href='index.php?var=$variable[$i]'></a>
感谢您的评论..
答案 0 :(得分:5)
你有一个语法蠢:
for ($i = 0 ; $i <100 ; $i++ );
^----
分号终止for循环,所以你做了一个空循环。将其更改为:
for ($i = 0 ; $i <100 ; $i++ )
echo "<a href......etc....";
或更好:
for ($i = 0 ; $i <100 ; $i++ ) {
echo "<a href......etc....";
}
答案 1 :(得分:1)
while ( $row = mysqli_fetch_array($sql)) {
$variable[] .= $row['user_id']; //Wrong
$variable[] = $row['user_id']; //Correct
}
foreach($variable as $value) {
echo "<a href='index.php?var=$value'></a>"; // Be sure to use double quotes
}
答案 2 :(得分:0)
这里有几个问题:
$variable
是在while
循环的范围内定义的,所以它
在所述循环之外是不可访问的(尽管PHP可能让你逃脱这个循环)。$sql
表示的SQL查询,确实返回了100行(索引为0-99)。虽然这可能是正确的,但假设这样做并不是一个好习惯,你应该处理通过执行该查询而返回实际的许多行。<a href='index.php?var=$variable[$i]'></a>
,它将无效,因为$variable[$i]
是PHP代码。您需要将它放在PHP文档中,介于<?php
和?>
标记之间。