2015-04-17 2 views
0

У меня есть php, который получает данные из базы данных, и я просто хочу получить его в свое представление. У меня был этот код раньше, когда я просто хотел 1 строку, однако теперь я хочу получить все данные в виде.Как получить результаты db в представлении

Должен ли я создать цикл и получить каждую строку в строку и сохранить ее?

вот PHP:

if ($result = $mysqli->query("SELECT * FROM myData")) { 
    $row_cnt = $result->num_rows; 
    if ($row_cnt > 0) { 
    $row = $result->fetch_assoc(); 
    $data = $row["data"]; 
    echo $data; 
} else { 
    echo "no data"; 
} 
    /* close result set */ 
    $result->close(); 
} 
+0

Вы можете просто эхо '$ строки [ "данные"];' нет необходимости устанавливать его в переменную. – chris85

+1

попробуйте изменить «if ($ row_cnt> 0) {« to »while ($ row = $ result-> fetch_assoc()) {« если это работает, тогда вы захотите изменить свое эхо, чтобы отделить вывод ... – dbinns66

ответ

2

Что-то, как это должно делать, если вам не нужно это в коде позже. Если это случай, сохраните его в массиве.

while($row = $result->fetch_assoc()) { 
    echo $row["data"]; 
    //$array[] = $row["data"]; 
} 
+0

мне нужно объявить int, чтобы он служил индексом массива для каждой итерации '$ index = 0; $ array [index] = $ row ["data"]; 'как это? –

+0

таким образом распечатать данные каждой строки в цикле, не добавляя к '$ data' – Farshad

+0

Вам не обязательно, он будет автоматически добавляться, как написано. Если вам нужен какой-то конкретный индекс, вы можете его дать. – chris85

1

Попробуйте так:

if ($result = $mysqli->query("SELECT * FROM myData")) { 
    $row_cnt = $result->num_rows; 
    if ($row_cnt > 0) { 
    While ($row = $result->fetch_assoc()) { 
    $data .= $row["data"]."<br>"; 
    } 
    echo $data; 
} else { 
    echo "no data"; 
} 
    /* close result set */ 
    $result->close(); 
} 
Смежные вопросы