Сохраните значение из базы данных в переменную для использования за пределами «while» в PHP - PullRequest
0 голосов
/ 07 января 2011

Это соответствующий бит моего кода:

while($row1 = mysql_fetch_array($result1)){
            $pro_no = $row1['project_no'];

Так что за пределами этого "WHILE" я хочу использовать $ pro_no. Как мне это сделать?

Спасибо

РЕДАКТИРОВАТЬ: Спасибо, не понимал, что мне не нужно время цикла

Ответы [ 4 ]

2 голосов
/ 07 января 2011

Если у вас есть только одна строка, вы можете сделать


$row1 = mysql_fetch_array($result1));
$pro_no = $row1['project_no'];

или, если у вас есть строки mamy, вы можете накапливать значения в массиве


$pro_no = array();
while($row1 = mysql_fetch_array($result1)){
   $pro_no[] = $row1['project_no'];
}

В конце, пока все значения из столбца project_no будут в вашем массиве

0 голосов
/ 07 января 2011

Поскольку $ proj_no будет меняться при каждом запуске цикла, вам необходимо присвоить значения массиву и получить доступ к массиву.

while($row1 = mysql_fetch_array($result1)){
    $proj_array[] = $pro_no = $row1['project_no'];
0 голосов
/ 07 января 2011

Я предполагаю, что ваша проблема в том, что значение $ pro_no меняется для каждого цикла, и вы достигаете только последнего после цикла.Вместо этого сохраните их в массив, чтобы иметь возможность использовать все позже:

$pro_no[] = $row['project_no'];

Надеюсь, я правильно понял проблему

0 голосов
/ 07 января 2011

После цикла оно будет заполнено последним значением из цикла. Поэтому имеет смысл установить его в значение по умолчанию, чтобы убедиться, что оно выполняется через while ().

Пример:

$pro_no = 'DEFAULT VALUE';
while($row1 = mysql_fetch_array($result1)){
    $pro_no = $row1['project_no'];
}
var_dump($pro_no);


// shorter and faster way of finding the last value:
$row1 = mysql_fetch_array($result1);
rsort($row1);
var_dump($row1[0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...