내 PHP 스크립트에 문제가있어. 이 스크립트는 두 개의 <ul>
을 생성합니다. 하나는 이미지가 있고 다른 하나는 축소판 이미지입니다. PHP는 첫 번째 while 루프를 완벽하게 실행하지만 축소판에 대한 내 <ul>
은 항상 비어있게됩니다. 나는 운이 없어 그것을 통해 일해 왔고 나는 어떤 오류를 인쇄하기 위해 스크립트를 얻는 것 같지 않습니다. 도움?두 개의 동일한 while 루프 함수, 두 번째 작동하지 않습니다
include "../backend/connect.php";
$query = "select image_id from images where thumb != '';";
$result = mysql_query($query);
<div id="main">
<div id="container">
<ul>
<?php
while ($row = mysql_fetch_array($result)) {
$img_id = $row['image_id'];
?>
<li class="hidden" id="<?php print($img_id); ?>" style="background-image:url(/pull.php?id=<?php print($img_id);?>&thumb=false)"></li>
<?php } ?>
<li class="" id="focus"></li>
</ul>
</div>
</div>
<div id="side">
<div id="photos"><ul>
<?php
while ($row = mysql_fetch_array($result)) {
$img_id = $row['image_id'];
?>
<div class="imgDiv" id="<?php print($img_id); ?>" >
<li>
<img src="pull.php?id=<?php print($img_id);?>&thumb=true" class="thumbnail"/>
</li>
</div>
<?php
}
?>
</ul></div>
</div>
</div>
호기심에서 내부 포인터를 다시 설정하고 내용을 배열에 덤프하는 것과 반대되는 동일한 리소스를 재사용하면 성능상의 이점이 있습니까? (엄청난 결과 세트 제외하고, 자연 스럽다.) 그런 식으로 생각한 적이 없기 때문에 궁금하다. – Farray
실제 테스트 없이는 확실하지 않지만 결과를 추가 배열로 덤핑하면 두 배가 될 것 같다. 사용되는 메모리는 작지만 결과는 작습니다. –
while ($ row = mysql_fetch_array ($ result))는 한 번에 한 행씩 메모리로 가져 오기 때문에 각 행마다 필요한 메모리 만 사용합니다 ... 루프에 넣기 전에 배열로 덤핑하면 총 메모리가 사용됩니다 결과 집합에서 모든 행의 합계 ... 및 결과 집합 포인터를 다시 설정하기위한 성능 오버 헤드는 최소가됩니다 ... 결과 집합에서 배열을 작성하는 것보다 덜 –