회원목록을 sort해서 표시하고 싶습니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
회원목록을 sort해서 표시하고 싶습니다.

QA

회원목록을 sort해서 표시하고 싶습니다.

본문

전체 회원 목록을 정렬해서 가져오고 싶습니다.

아래처럼 하면 될까 싶어서 해봤는데 역시나 회원이름과 아이디를 가져오질 못하네요

 


// ./test/t.php
<?php
include_once('./_common.php');   //그누보드 변수 사용
?>
<br>
회원전체 목록 (이름 가나다 순)
<br>
<?php
 $i=0;
while($i<=500) {  //전체 500명
?>
    <table style="width: 100%; text-align: center;">        
        <tr font-weight:bold;>    
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
        </tr>    
        <tr style="vertical-align: top">    
            <td><?php echo $list[$i]['mb_name']; ?></td>
            <td><?php echo $list[$i]['mb_name']; ?></td>
            <td><?php echo $list[$i]['mb_name']; ?></td>
            <td><?php echo $list[$i]['mb_name']; ?></td>
            <td><?php echo $list[$i]['mb_name']; ?></td>
        </tr>    
    </table><hr>
<?php } ?>
<br>
회원전체 목록 (ID A-Z 순)
<br>
<?php
 $i=0;
while($i<=500) {  //전체 500명
?>
    <table style="width: 100%; text-align: center;">        
        <tr font-weight:bold;>    
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
            <td><?php echo $i=$i+1 ?></td>
        </tr>    
        <tr style="vertical-align: top">    
            <td><?php echo $list[$i]['mb_id']; ?></td>
            <td><?php echo $list[$i]['mb_id']; ?></td>
            <td><?php echo $list[$i]['mb_id']; ?></td>
            <td><?php echo $list[$i]['mb_id']; ?></td>
            <td><?php echo $list[$i]['mb_id']; ?></td>
        </tr>    
    </table><hr>
<?php } ?>

 

회원 이름이나 아이디를 sort해서 어떻게 가져오나요?

이 질문에 댓글 쓰기 :

답변 4

댓글은 이미지 첨부를 하지 못하는군요.

아무튼 샘플 데이터, 아래처럼 뜹니다. 끝!

 

988537230_1642429176.4881.png

가나다 순

SELECT mb_no, mb_id, mb_name FROM g5_member WHERE mb_name REGEXP '^[가-힣]' ORDER BY mb_name ASC LIMIT 500;

 

A-Z 순

SELECT mb_no, mb_id, mb_name FROM g5_member WHERE mb_name REGEXP '^[A-Z]' ORDER BY mb_name ASC LIMIT 500;

 

foreach(...)

while ($row=sql_fetch(...

등 질문처럼 무한 반복에 빠지지 않게, 존재하는 레코드만 출력하도록 해야 합니다.

시도는 해봤어요? 아! 위쪽은 이름순, 아래는 아이디순이었군요.


<?php
include_once('./_common.php');   //그누보드 변수 사용

// 숫자, 영문, 한글명 순이니까, 한글 이름이 먼저 나오게 하려면 아래처럼
// ORDER BY IF(mb_name REGEXP '^[가-힣]', 0, 1) ASC, mb_name ASC 정렬해주면 됩니다.
$member_names = sql_query("SELECT mb_no, mb_id, mb_name FROM {$g5['member_table']} ORDER BY mb_name ASC LIMIT 500"); // IF(mb_name REGEXP '^[가-힣]', 0, 1) ASC
$names_rows = sql_num_rows($member_names);
?>
<br>
회원전체 목록 (이름 가나다 순)
<br>
<table border="1" style="width: 100%; text-align: center;">
<thead><tr><th>번호</th><th>아이디</th><th>이름</th></tr></thead>
<tbody>
<?php
while ( $row=sql_fetch_array($member_names) ) {  //최대 500명
?>
        <tr>
            <td><?=$names_rows?></td>
            <td><?=$row['mb_id']?></td>
            <td><?=$row['mb_name']?></td>
        </tr>
<?php $names_rows--; } ?>
</tbody>
</table>
<br>

<?php
$member_ids = sql_query("SELECT mb_no, mb_id, mb_name FROM {$g5['member_table']} ORDER BY mb_id ASC LIMIT 500");
$ids_rows = sql_num_rows($member_ids);
?>
회원전체 목록 (ID A-Z 순)
<br>
<table border="1" style="width: 100%; text-align: center;">
<thead><tr><th>번호</th><th>아이디</th><th>이름</th></tr></thead>
<?php
while ( $row=sql_fetch_array($member_ids) ) { //최대 500명
?>
        <tr>
            <td><?=$ids_rows?></td>
            <td><?=$row['mb_id']?></td>
            <td><?=$row['mb_name']?></td>
        </tr>
<?php $ids_rows--; } ?>
</tbody>
</table>
<br>


기본적인 php지식과 수학에 대한 이해가 없으면 할 수 없는 일 같군요
아이디는 동일하게 $member1 --> $member2 만 바꾸면 됩니다
 
$i= 0;
while ( $row=sql_fetch_array($member1) ) $listA[] = $row;
 
$n= ceil( count($listA) / 5); // 갯수가 27개면 6번 loop를 해야 25개 후 나머지 2개를 출력
for($m=0; $m < $n; $m++){
 $i = $m * 5; //(0, 5, 10 ~~~) 5씩 증가하는 수열의 일반항이라고 말하기도 민망한 산수
?>
    <table style="width: 100%; text-align: center;">
        <tr font-weight:bold;>
            <td><?=($i+1)?></td>
            <td><?=($i+2)?></td>
            <td><?=($i+3)?></td>
            <td><?=($i+4)?></td>
            <td><?=($i+5)?></td>
        </tr>
        <tr style="vertical-align: top">
            <td><?=$listA[$i]['mb_name']?></td>
            <td><?=$listA[$i+1]['mb_name']?></td>
            <td><?=$listA[$i+2]['mb_name']?></td>
            <td><?=$listA[$i+3]['mb_name']?></td>
            <td><?=$listA[$i+4]['mb_name']?></td>
        </tr>
    </table><hr>
<?php } ?>

<?php
include_once('./_common.php');   //그누보드 변수 사용
?>
    <table width="600px" align="center" border='1'>       
<?php
//회원전체 목록 (이름 가나다 순)
$sql="SELECT * FROM `g5_member` ORDER BY `g5_member`.`mb_name` DESC ";
    $result = sql_query($sql);
    while ($row = sql_fetch_array($result))
    {
?>

        <tr>   
   <td><?php echo $row['mb_no']; ?></td>
   <td><?php echo $row['mb_id']; ?></td>   
   <td><?php echo $row['mb_name']; ?></td>

        </tr>   
 
<?php } ?>

  </table>

      <table width="600px" align="center" border='1'> 
<?php
//회원전체 목록 (ID A-Z 순)
$sql="SELECT * FROM `g5_member` ORDER BY `g5_member`.`mb_id` DESC ";
    $result = sql_query($sql);
    while ($row = sql_fetch_array($result))
    {
?>

        <tr>   
   <td><?php echo $row['mb_no']; ?></td>
   <td><?php echo $row['mb_id']; ?></td>   
   <td><?php echo $row['mb_name']; ?></td>

        </tr>   
 
<?php } ?>

  </table>

 

2084452681_1642423842.4777.png

답변을 작성하시기 전에 로그인 해주세요.
전체 448
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT