반응형
다음 코드는 임의의 데이터베이스 이미지와 하나의 특정 이미지 (내가 원하는)를 표시합니다. 이미지 ID 11이 항상 먼저 표시되므로 데이터베이스 쿼리 후 이러한 결과를 섞을 수 있습니까? 이미지 ID 11을 다른 것들 사이에서 무작위로 표시하고 싶습니다.
SHUFFLE ()을 사용할 수 있습니다. 그렇다면 정확히 어디에 넣을까요?
PHP를 배우는 동안 어떤 도움이라도 감사하겠습니다.
감사.
<?php
mysql_connect("", "", "") or die(mysql_error()) ;
mysql_select_db("images") or die(mysql_error()) ;
$photo=mysql_query("SELECT * FROM `profile_images` ORDER BY (ID = 11) DESC, RAND()
LIMIT 7");
while($get_photo=mysql_fetch_array($photo)){ ?>
<div style="width:300px;">
<img src="<? echo $get_photo['url']; ?>">
</div>
<? } ?>
해결 방법
php로 검색된 후 섞을 수 있습니다.
$photos = array();
while ($get_photo = mysql_fetch_array($photo))
$photos[] = $get_photo;
shuffle($photos);
또는 하위 쿼리로 수행 할 수 있습니다.
SELECT A.* FROM (
SELECT * FROM `profile_images`
ORDER BY (ID = 11) DESC, RAND()
LIMIT 7
) as A
ORDER BY RAND()
참조 페이지 https://stackoverflow.com/questions/9457029
반응형
'MySql' 카테고리의 다른 글
MySQL 덤프에서 DEFINER 절 제거 (0) | 2020.09.20 |
---|---|
MySQL PHP select the biggest `id` value from MySQL table (0) | 2020.09.19 |
MySQL 두 테이블에서 선택하는 MySQL (0) | 2020.09.19 |
MySQL 외래 키 제약 조건을 제공하도록 테이블 변경 (0) | 2020.09.19 |
MySQL 오류-SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1064 (0) | 2020.09.19 |
댓글