2012-09-04 4 views
0

나는 누군가의 친구들을 모두 표시하는 아코디언 (트위터 부트 스트랩)을 만들려고 노력하고 있으며, 결국 무한 루프를 만들게된다. 기본적으로 PHP를 반향시키고있다. 결과의 각 행에 대한 문자열.PHP로 데이터베이스 쿼리의 여러 행을 에코하기

누구나 내가 바보 (mysqli를 사용하지 않는 것)를하고 있음을 발견 할 수 있습니까?

while ($rowresult = mysql_fetch_assoc(mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."' "))) { 
     $auto = "0px"; 
     echo '<div class="accordion-group"><div class="accordion-heading"><div class="accordion-heading">'; 
     echo '<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapse'. $counter . '">';  
     echo $rowresult['firstname']; 
     echo ' '; 
     echo $rowresult['lastname']; 
     echo ', '; 
     echo $rowresult['headline']; 
     echo '</a></div> <div id="collapse'. $counter .'" class="accordion-body '; 
     if ($counter == 0){ 
     echo 'in '; 
     $auto = "auto"; 
     } 
     echo 'collapse" style="height: '. $auto .'; "><div class="accordion-inner">'; 
     echo '<img src="'.$rowresult["pictureUrl"].'">';   
     echo '</div></div></div></div>';  
     $counter++; 
    } 
+1

mysql_ 함수가 사용되지 않기 시작했습니다. [Read this] (http://www.deprecatedphp.com/mysql)에서 자세한 정보를 얻을 수 있습니다. – Kermit

답변

1

모든 반복마다 쿼리가 반복됩니다. 루프에서 mysql_query()를 변수로 이동하십시오.

$q = mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."' "); 
while ($rowresult = mysql_fetch_assoc($q)) { 
    // ... 
} 
+0

이 사람은 그것을 얻었다! – Jay

0

while 루프 앞에 쿼리를 넣으십시오. IE

$q=mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."' "); 
while ($rowresult = mysql_fetch_array($q)) { 

...

하지만 물론 PDO를 사용 ... :)

2

다시하고 다시 같은 쿼리를 실행하고 있기 때문에 그것은 작동하지 않습니다.
가 대신 수행 또한

$res = mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."'"); 
while ($rowresult = mysql_fetch_assoc($res)) { 
.... 
} 

, 나는 당신이 MySQLi 또는 PDO 사용하는 것이 좋습니다.

관련 문제