갤러리 이미지 첫번째 파일 지정해서 메인이랑 연동하는법
본문
<div class="index_botoom_img_content">
<?php
$sql = "SELECT * FROM `g5_write_clean_gallery` ORDER BY `wr_id` DESC LIMIT 10";
$sql2 = "SELECT * FROM g5_board_file WHERE bf_no = 0 AND bo_table = 'clean_gallery'";
$result = mysqli_query($connect_db, $sql);
$result2 = mysqli_query($connect_db, $sql2);
$gallery = [];
$galleryfile = [];
while($row = mysqli_fetch_assoc($result)){
$gallery[] = $row;
}
while($row = mysqli_fetch_assoc($result2)){
$galleryfile[] = $row;
}
?>
<div class="gallery_wrap">
<?php
for($i = 0; $i < count($gallery); $i++){ ?>
<a href="<?php echo '/bbs/board.php?bo_table=clean_gallery&wr_id='.$gallery[$i]['wr_id']; ?>" class="gallery_box">
<div class="gal_img">
<img src="<?php echo G5_DATA_URL ?>/file/clean_gallery/<?php echo $galleryfile[$i]['bf_file']; ?>" alt="">
</div>
<div class="gal_text">
<p><?php echo $gallery[$i]['wr_subject']; ?></p>
</div>
</a>
<?php }
?>
</div>
</div>
이미지 파일을 두개 이상 올리면 다른 이미지가 메인에 연동이됩니다..
도와주세요
!-->답변 2
다른 이미지가 메인에 연동이됩니다<--당연합니다
$sql 에서 가져온 데이터와 $sql2에서 가져온 데이터가 순서가 같다는 보장이 없잖습니까?
다음처럼
$result2 = sql_query($sql2); /---그누보드 함수를 사용해서 이것처럼 간단하게 사용합니다
while($row = sql_fetch_array($result2)){
$wr_id = $row['wr_id'];
$galleryfile[$wr_id] = $row[bf_file'];
}
-------------
< img src=~~~~~ echo $galleryfile[$gallery[$i]['wr_id']]['bf_file'];
그런데 이것은 좋은 방법이 아닙니다
나중에 게시물 수가 많아지면 필요없이 전체 게시물 첨부화일을 추출해 올 것아닙니까?
이런 경우는 $gallery[] 배열을 만들때 wr_id만 모아서
모은 wr_id를 where에 넣어서 $sql2쿼리를 위 코드 뒤쪽에 만들면 좋겠습니다
-----------------
다른방법
첨부이미지가 빠지는 경우가 없다면 sql2 쿼리도 ORDER BY `wr_id` DESC LIMIT 10을 추가해주면 되겠습니다
!-->
애초에 쿼리 날릴때 inner join 사용해서
업로드된 파일 정보 같이 가져오는게 나아보이네요!
답변을 작성하시기 전에 로그인 해주세요.