Получение переменной в цикле извне, а функция –

У меня есть цикл while, который присваивает идентификатор пользователя переменной. Переменная – это массив. Когда я назначаю переменную другому в такой ссылке: она возвращает правильный идентификатор на клике, но только тогда, когда ссылка находится в цикле while. Как (возможно) разместить ссылку за пределами цикла while и получить те же идентификационные данные, которые имеет переменная?

Этот код работает:

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> 

Спасибо за комментарии.

 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 } 

У вас есть синтаксис goof:

 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. $variable определена внутри области цикла while, поэтому она недоступна вне указанного цикла (хотя PHP может позволить вам уйти с этим).
  2. Вы предполагаете, что существует ровно 100 строк (с индексом 0-99), возвращаемых выполнением SQL-запроса, представленного $sql . Хотя это может быть правдой, это не очень хорошая практика, чтобы принять это, и вы должны обрабатывать, однако, многие строки фактически возвращаются, выполняя этот запрос.
  3. Возможно, самое главное, если вы действительно используете <a href='index.php?var=$variable[$i]'></a> в контексте HTML, это не сработает, поскольку $variable[$i] PHP-код. Вам нужно будет поместить это в PHP-документ, где-то между тегами <?php и ?> .