배열 / if 문을 사용하여 테이블 데이터를 알파벳순으로 정렬

스티븐 세라노

if 문을 사용하여 반복하고 알파벳순으로 처리하는 데이터가 있습니다. 내 코드는 작동하지만 문제는 매우 "긴 방법"처럼 보입니다. 이 작업을 훨씬 쉽게 할 수있는 또 다른 접근 방식이 있는지 알고 싶습니다.

내 PHP는 다음과 같습니다.

    // MY QUERY
$query1 = "SELECT `categoryid`, `categoryname` 
            FROM `my_table_category` 
            ORDER BY `my_table_category`.`categoryname` ASC";

$browse = mysql_query($query1) or die(mysql_error());
$browse_rows = array();
while($row = mysql_fetch_assoc($browse)){
    $browse_rows[] = $row;
    }

// HERE MY ARRAYS FOR THE ALPHABET
    $list_a = array(); $list_b = array(); $list_c = array(); 
    $list_d = array(); $list_e = array(); $list_f = array(); 
    $list_g = array(); $list_h = array(); $list_i = array();
// etc...

// HERE IS WHERE I'M GRABBING THE CATEGORY NAMES BY THEIR FIRST LETTER 
// AND ADDING THEM TO AN ARRAY
foreach($browse_rows as $row){
    if($row['categoryname'][0] == 'A'){
        $list_a[] = $row['categoryname'];
    }elseif($row['categoryname'][0] == 'B'){
        $list_b[] = $row['categoryname'];
    }elseif($row['categoryname'][0] == 'C'){
        $list_c[] = $row['categoryname'];
    }elseif($row['categoryname'][0] == 'D'){
        $list_d[] = $row['categoryname'];
    }
} //etc...

내 HTML은 다음과 같습니다.

<!-- HERE IS HOW I DISPLAY MY DATA -->
 <div id="topics_a">
            <h2>A</h2>
            <ul class="browse_list">
            <?
            foreach($list_a as $name){
                if ($holdcat <> $name) {
                $holdcat = $name; ?>
                <li><a href="index.php?state="<? echo $template->State."#".$browse_row['categoryid'];?>><? echo $name; ?></a></li> 
            <? }} ?>
            </ul>
        </div>

        <div id="topics_b">
            <h2>B</h2>
            <ul class="browse_list">
            <?
            foreach($list_b as $name){
                if ($holdcat <> $name) {
                $holdcat = $name; ?>
                <li><a href="index.php?state="<? echo $template->State."#".$browse_row2['categoryid'];?>><? echo $name; ?></a></li> 
            <? }} ?>
            </ul>
        </div>
//etc...

답변 후 업데이트 :

//UPDATED PHP
foreach ($browse_rows as $row) {
$initial = $row['categoryname'][0];
    $lists[$initial][] = $row['categoryname'];
}
//UPDATED HTML
<? foreach ($lists as $letter => $list){ ?>
            <div>
                <h2><? echo $letter;  ?></h2>
                <ul class="browse_list"> 
            <? 
            $list = array_unique($list); 
            foreach ($list as $cat) {
            ?>
                <li><a href="#"><? echo $cat; ?></a></li> 
            <? } ?>
            </ul>
        </div>
            <? } ?>

출력 : http://d.pr/i/bt68

Barmar

각 문자에 대해 별도의 배열이 아닌 다차원 배열을 사용하십시오.

$lists = array();
foreach ($browse_list as $row) {
    $initial = $row['categoryname'][0];
    if (!isset($row[$initial])) {
        $lists[$initial] = array();
    }
    $lists[$initial][] = $row['categoryname'];
}

그런 다음 표시하려면 키별로 배열을 정렬 한 다음 중첩 루프를 사용합니다.

ksort($lists);
foreach ($lists as $list) {
    echo '<ul class="browse_list">';
    $list = array_unique($list); // get rid of duplicates
    foreach ($list as $cat) {
        echo '<li><a href="#">' . $cat . '</a></li>';
    }
    echo '</ul>';
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

각 열 아래로 알파벳순으로 읽을 테이블의 4 개 열에 대한 배열 정렬

분류에서Dev

객체 배열을 알파벳순으로 정렬하고 빈 값을 끝으로 이동

분류에서Dev

C-strcmp ()없이 알파벳순으로 문자열 정렬

분류에서Dev

정렬 함수없이 문자열 배열을 알파벳순으로 정렬하려면 어떻게해야합니까? 파이썬

분류에서Dev

객체 배열에서 데이터를 추출하고 알파벳순으로 정렬 (동시)

분류에서Dev

폴더 이름을 배열에 저장하고 알파벳순으로 정렬 VBA

분류에서Dev

R에서 알파벳순으로 이름 문자열을 정렬하는 방법은 무엇입니까?

분류에서Dev

JavaScript 만 사용하여 열을 클릭 할 때마다 테이블 요소를 알파벳순으로 정렬하는 데 사용할 일반 sortableTable 객체를 만듭니다.

분류에서Dev

문자열 배열을 알파벳순으로 정렬하고 c에서 돌연변이를 방지하는 방법

분류에서Dev

알파벳순으로 이름 정렬, 배열 오류

분류에서Dev

데이터 테이블을 알파벳순으로 알파벳순으로 정렬 한 다음 R의 숫자 값으로 정렬합니다.

분류에서Dev

레코드에 이름 : 문자열 필드가있는 레코드 배열을 알파벳순으로 정렬하려면 어떻게해야합니까?

분류에서Dev

R에서 중복없이 파일에 열을 쓰고 알파벳순으로 정렬하는 방법

분류에서Dev

Python에서 여러 데이터 프레임을 연결하면 열이 알파벳순으로 재정렬됩니다.

분류에서Dev

첫 번째 행이 알파벳순으로 정렬되도록 Excel 문서의 열을 순회합니다.

분류에서Dev

R을 사용하여 테이블의 3 차원 데이터를 행렬 / 배열 형식으로 구성

분류에서Dev

ASCII를 사용하여 알파벳 순서로 정렬 된 최대 길이 하위 문자열을 가져옵니다.

분류에서Dev

SQL ~ 값이 같을 때 알파벳순으로 정렬하는 방법

분류에서Dev

Java-알파벳순 및 숫자 순으로 객체를 사용하여 배열 목록 정렬

분류에서Dev

Swift를 사용하여 TableView 셀을 알파벳순으로 정렬

분류에서Dev

배열 값에서 "The"를 제거하여 알파벳순으로 정렬

분류에서Dev

여러 입력 문자열을 병합하여 알파벳순으로 정렬

분류에서Dev

주어진 열을 알파벳순이 아닌 월 및 연도별로 오름차순 및 내림차순으로 정렬하고 싶습니다.

분류에서Dev

알파벳순으로 제목을 비교하여 제목과 자막이있는 정렬 목록 정렬

분류에서Dev

파이썬에서 목록 목록을 "열"을 기준으로 알파벳순으로 정렬

분류에서Dev

배열의 인덱스를 사용하여 알파벳순 테이블 목록을 만드는 기능

분류에서Dev

Unity Launcher 아이콘을 알파벳순으로 정렬

분류에서Dev

<Player> ArrayList 이름을 알파벳순으로 정렬

분류에서Dev

셀레늄 파이썬 테이블 열이 알파벳순으로 정렬되었는지 확인하는 방법

Related 관련 기사

  1. 1

    각 열 아래로 알파벳순으로 읽을 테이블의 4 개 열에 대한 배열 정렬

  2. 2

    객체 배열을 알파벳순으로 정렬하고 빈 값을 끝으로 이동

  3. 3

    C-strcmp ()없이 알파벳순으로 문자열 정렬

  4. 4

    정렬 함수없이 문자열 배열을 알파벳순으로 정렬하려면 어떻게해야합니까? 파이썬

  5. 5

    객체 배열에서 데이터를 추출하고 알파벳순으로 정렬 (동시)

  6. 6

    폴더 이름을 배열에 저장하고 알파벳순으로 정렬 VBA

  7. 7

    R에서 알파벳순으로 이름 문자열을 정렬하는 방법은 무엇입니까?

  8. 8

    JavaScript 만 사용하여 열을 클릭 할 때마다 테이블 요소를 알파벳순으로 정렬하는 데 사용할 일반 sortableTable 객체를 만듭니다.

  9. 9

    문자열 배열을 알파벳순으로 정렬하고 c에서 돌연변이를 방지하는 방법

  10. 10

    알파벳순으로 이름 정렬, 배열 오류

  11. 11

    데이터 테이블을 알파벳순으로 알파벳순으로 정렬 한 다음 R의 숫자 값으로 정렬합니다.

  12. 12

    레코드에 이름 : 문자열 필드가있는 레코드 배열을 알파벳순으로 정렬하려면 어떻게해야합니까?

  13. 13

    R에서 중복없이 파일에 열을 쓰고 알파벳순으로 정렬하는 방법

  14. 14

    Python에서 여러 데이터 프레임을 연결하면 열이 알파벳순으로 재정렬됩니다.

  15. 15

    첫 번째 행이 알파벳순으로 정렬되도록 Excel 문서의 열을 순회합니다.

  16. 16

    R을 사용하여 테이블의 3 차원 데이터를 행렬 / 배열 형식으로 구성

  17. 17

    ASCII를 사용하여 알파벳 순서로 정렬 된 최대 길이 하위 문자열을 가져옵니다.

  18. 18

    SQL ~ 값이 같을 때 알파벳순으로 정렬하는 방법

  19. 19

    Java-알파벳순 및 숫자 순으로 객체를 사용하여 배열 목록 정렬

  20. 20

    Swift를 사용하여 TableView 셀을 알파벳순으로 정렬

  21. 21

    배열 값에서 "The"를 제거하여 알파벳순으로 정렬

  22. 22

    여러 입력 문자열을 병합하여 알파벳순으로 정렬

  23. 23

    주어진 열을 알파벳순이 아닌 월 및 연도별로 오름차순 및 내림차순으로 정렬하고 싶습니다.

  24. 24

    알파벳순으로 제목을 비교하여 제목과 자막이있는 정렬 목록 정렬

  25. 25

    파이썬에서 목록 목록을 "열"을 기준으로 알파벳순으로 정렬

  26. 26

    배열의 인덱스를 사용하여 알파벳순 테이블 목록을 만드는 기능

  27. 27

    Unity Launcher 아이콘을 알파벳순으로 정렬

  28. 28

    <Player> ArrayList 이름을 알파벳순으로 정렬

  29. 29

    셀레늄 파이썬 테이블 열이 알파벳순으로 정렬되었는지 확인하는 방법

뜨겁다태그

보관