2016-07-25 5 views
0

Im захвата напряжения из базы данных и отображение их на странице из приведенной ниже коды:Строки из Mysql результатов

$separator = ''; 

if ($result->num_rows > 0) { 
    while ($row = $result->fetch_assoc()) { 
     $volt = $separator.$row['volt']; 
     $separator = ','; 
     echo $volt; 
    } 
} 

Это выводит следующее: 12.34,12.45,13.01 и т.д., как я называю эти данные за пределы цикл while?

Если я эхо $ вольт снаружи, я получаю только одно значение, например 12.34, а не полную строку?

+0

вы можете связать $ volt с другой переменной для сбора, когда вы идете, и затем отображать эту переменную за пределами цикла while. Или вы можете просто использовать group_concat в mysql. –

ответ

3

Сохраните данные с массивом:

$volts = []; 

if ($result->num_rows > 0) { 
    while ($row = $result->fetch_assoc()) { 
     $volts[] = $row['volt']; 
    } 
} 

echo implode(',',$volts); 

Я использовал implode() соединить все элементы массива

+1

приятно, всегда есть кто-то, дающий лучший ответ, чем я: D –

+1

Большое спасибо, это работает как мечта – Bibsta

0

Вы можете начать с $ вольта intially установлен в пустую строку, то сцепить $ вольта до $ вольт как вы идете, поэтому после цикла while у вас есть $ volts, содержащие все $ volts, которые были доступны в цикле while. как это.

$separator = ''; 
$volts = ''; 
if ($result->num_rows > 0) { 
    while ($row = $result->fetch_assoc()) { 
     $volt = $separator.$row['volt']; 
     $separator = ','; 
     echo $volt; 
     $volts .= $volt; 
    } 
} 
echo $volts; 
Смежные вопросы