2016-05-28 4 views
0

Я очень новый, у меня небольшая проблема. Я не могу получить цикл while, который должен пройти весь мой результирующий набор, это только получение последнего набора результатов, и я ожидаю 2 наборы результатов.Пока заявление только повторяет последний результат

Я выбрал свой запрос, чтобы увидеть результат, который я получил бы, и эхо распечатало оба набора результатов, которые я хочу распечатать. Превращая меня в путаницу, мой цикл является проблемой.

Я просмотрел потерянный здесь, но сообщения, которые я видел, были проблемой с их запросом, а не с их циклом while. Будем очень благодарны любой помощи. Я использовал разные записи здесь для построения моего запроса, но я не знаю, куда идти отсюда.

date_default_timezone_set("Europe/London"); 

    $date = jddayofweek(unixtojd()); 

    $sql = "SELECT * FROM tbl WHERE ID = $ID AND Day = $date"; 

    $results = $conn->query($sql); 
    echo $sql; 

if ($results->num_rows > 0) { 
    while ($row = $results->fetch_assoc()) { 

     $output = "Test2" . "</br>" . $row["time"] . "</br>"; 
    } 


      } else { 

    $output = $output . "test1" . "</br>"; 
    } 
     } 
+0

вы что-нибудь в то время как петля .... –

ответ

1

Вы не эхом ничего в своем цикле while.

Я думаю, вам нужно объединить переменную $output.

while ($row = $results->fetch_assoc()) { 
    $output .= "Test2" . "</br>" . $row["time"] . "</br>"; 
} 
+1

Это отлично сработало спасибо – user6394840

+0

добро пожаловать и продолжайте. –

0

Вы overwritting содержания $ выхода на каждой итерации цикла, вы должны использовать concatenation operator придавать значение содержания до конца строки.

$output .= "Test2" . "</br>" . $row["time"] . "</br>"; 
+0

Великий спасибо за ссылку не вторя, я теперь понимаю свою ошибку. Я бы дал вам голосование, я был в состоянии – user6394840

+0

вам нужно как минимум 15 репутации за это. –

Смежные вопросы