테스트 사이트 - 개발 중인 베타 버전입니다

jQuery 스크립트 안에서의 for문 질문 드립니다. 채택완료

토루크막토 7년 전 조회 2,257

안녕하세요. 궁금한게 많은 초보라 또 질문이 있습니다...ㅠ_ㅠ

 

제가 원하는 결과물은 아래와 같습니다.

 

 

 

위처럼 결과를 얻고자 아래처럼 for문을 썼습니다.

 

</p>

<p><?php

 for ($i=1; $row=sql_fetch_array($result); $i++) {

  echo '<a href="#'.$i.'" class="link'.$i.'"><img src="./img/'.$i.'.jpg" /></a>';

 }

?></p>

<p><script type="text/javascript">

 $(document).ready(function () {

 <?php

  for ($i=1; $row=sql_fetch_array($result); $i++) {

 ?>

  $('a.link<?php echo $i;?>').gips({ 'theme': 'purple',text: ' <?php echo $i;?>번 이미지입니다.' });

 <?

  }

 ?>

 });

</script></p>

<p>

 

이렇게 했더니 결과물이 아래처럼 나옵니다.

 

</p>

<p><a href="#1" class="link1"><img src="./img/1.jpg" /></a></p>

<p><a href="#2" class="link2"><img src="./img/2.jpg" /></a></p>

<p><a href="#3" class="link3"><img src="./img/3.jpg" /></a></p>

<p><a href="#4" class="link4"><img src="./img/4.jpg" /></a></p>

<p><a href="#5" class="link5"><img src="./img/5.jpg" /></a></p>

<p> </p>

<p><script type="text/javascript">

 $(document).ready(function () {

 });

</script></p>

<p>

 

즉 jquery 안에 있는

$('a.link').gips({ 'theme': 'purple',text: ' 번 이미지입니다.' });

이 부분이 루프 되지 않거나 잘못된 것 같은데

어떻게 하면 원하는 결과물을 얻을 수 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
7년 전

sql_fetch_array() 는 한 레코드씩을 가져옵니다.

첫번째 루프문에서 모든 레코드를 가져왔기 때문에, 다음 루프문에서는 가져올 것이 없게 됩니다.

 

for ($i=1; $row=sql_fetch_array($result); $i++) {

  $list[$i] = $row;

$cnt_list = count($list);

로 별도의 배열 변수에 담은 다음, 두 곳의 루프문을 다음과 같은 식으로 고쳐주는 방법이 있습니다.

 

for ($i=1; $i <= $cnt_list; $i++) {

 

 

* 별도로, jquery 구문만으로 처리하는 방법은 다음과 같습니다.

$('a[class^=link').gips({'theme': 'purple', text: ' ' + $(this).attr('class').slice(-1) + '번 이미지입니다.' });                   

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

토루크막토
7년 전
감사합니다.
구글에서 찾다보니
"전체 데이터를 배열에 담아두고, 이후로는 배열을 순회하면서 사용하는 편입니다"
라는 말이 나왔는데도 이해를 못했는데
적어 주신 코드를 보니 이해가 됩니다.

감사합니다!!

댓글을 작성하려면 로그인이 필요합니다.

LovelyCaT
7년 전

같은 sql_fetch_array($result) 를 하려면 index의 위치를 0으로 옮겨서 실행해주어야합니다.

mysql_data_seek 을 이용해서 0으로 옮겨주세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

토루크막토
7년 전
답변 주셔서 감사드립니다.
구글에서 mysql_data_seek 를 찾아 보고 있는데 뭔말인지 이해가 안갑니다...;;;;
토루크막토
7년 전
신경 써주셔서 감사드립니다.
좋은 하루 보내세요~~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인