본문 바로가기
MySql

MySQL에서 호출되는 HTML 테이블의 행을 정렬하는 방법

by 베이스 공부 2020. 11. 13.
반응형

나는 그것이 매우 기본적인 것이라는 것을 알고 있지만 Google 검색은 th 링크를 클릭 한 후 행을 다시 정렬하는 방법을 보여주지 않았습니다.

나는 이것을 얻었다 :

<table border="1">
  <tr>
    <th>Type:</th>
    <th>Description:</th>
    <th>Recorded Date:</th>
    <th>Added Date:</th>
  </tr>

<?php 
while($row = mysql_fetch_array($result)){
    ?>
    <tr>
        <td><?php echo $row['type'] ?></td>
        <td><?php echo $row['description'] ?></td>
        <td><?php echo $row['recorded_date'] ?></td>
        <td><?php echo $row['added_date'] ?></td>
    </tr>
    <br /> 


  <?php 
}
mysql_close();
?>
</table>

유형 을 클릭하고 알파벳순으로 정렬 할 수 있어야합니다. 그리고 기록 된 날짜 또는 추가 된 날짜 를 클릭하고 날짜별로 정렬 할 수 있어야합니다. MySQL 쿼리가이 작업을 수행해야한다는 것을 알지만 a href 태그를 사용하여 조건문으로 설정합니까?

 

해결 방법

 

이를 수행하는 가장 쉬운 방법은 동일한 페이지를 가리키는 열 헤더에 링크를 배치하는 것입니다. 쿼리 문자열에서 클릭 한 내용을 알 수 있도록 변수를 입력 한 다음 SQL 쿼리에서 ORDER BY를 사용하여 정렬을 수행합니다.

HTML은 다음과 같습니다.





그리고 PHP 코드에서 다음과 같이하십시오.

<?php

$sql = "SELECT * FROM MyTable";

if ($_GET['sort'] == 'type')
{
    $sql .= " ORDER BY type";
}
elseif ($_GET['sort'] == 'desc')
{
    $sql .= " ORDER BY Description";
}
elseif ($_GET['sort'] == 'recorded')
{
    $sql .= " ORDER BY DateRecorded";
}
elseif($_GET['sort'] == 'added')
{
    $sql .= " ORDER BY DateAdded";
}

$>

$ _GET 값을 직접 가져 와서 쿼리에 추가해서는 안됩니다. 일부 사용자는 MyPage.php? sort =; MyTable에서 삭제;

 

참조 페이지 https://stackoverflow.com/questions/3489783

 

 

반응형

댓글