2016-07-09 1 views
1

그래서 기본적으로 나는 데이터베이스 행을 반복하려면 다음 루프가 :

while($row = $mysql->fetch_assoc()) 

을하지만 뿐만 아니라이 루프 전에 행에 액세스해야합니다. 그래서, 이렇게 :

$inside = $mysql->fetch_assoc() 

$ mysql을의 행을 잃는다. while 루프에 도달하면 조건이 NULL이되면 입력하지 않습니다.

나는 다음과 같은

while($row = $inside) 

을 시도했지만 이것은 단지 (무한 루프) 타임 아웃 될 때까지 기다립니다.

위의 요구 사항을 어떻게 채울 수 있었는지에 대한 아이디어가 있습니까? 도와 주셔서 대단히 감사합니다 ...

+0

잠시 동안 행을 배열로 설정 한 다음 나중에 두 번째 행을 필요로 할 때 해당 배열에 액세스 할 수 있습니다. – chris85

답변

0

두 번째 루프 반복에서 행 카운터를 재설정하기 전에 $mysql->data_seek(0)을 사용하십시오. 행을 다시 반복 할 수 있습니다. 예제는 this helpful post을 참조하십시오.

3

이 작업을 수행 한 후 :

while ($row = $mysql->fetch_assoc()) 

$resul의 내부 포인터가 마지막이다. 따라서 다시 처음으로 이동할 수 있습니다.

$mysql->data_seek(0); 
while ($row = $mysql->fetch_assoc()) 

모든 행을 다시 사용할 수 있습니다.

관련 문제