목록 표시LOGIN

목록 표시

1. 데이터베이스 접속, 오류 판단, 문자셋 설정

위에서 연결, 오류 판단, 문자셋 선택에 대해 모두 다루었습니다. 이전 규칙의 첫 번째 단계는 mysqli_connect를 사용하여 데이터베이스에 연결하는 것입니다. 첫 번째 섹션에서 말했듯이 네 번째 매개변수에 라이브러리 선택을 추가할 수 있습니다. 나중에 데이터베이스를 다시 선택하기 위해 더 이상 mysqli_select_db 함수를 사용할 필요가 없습니다.

반환된 유형은 연결 리소스입니다. 어떤 연결을 작동하고 있는지 확인하려면 mysqli_errno, mysqli_error 및 mysqli_set_charset의 리소스를 전달해야 합니다.

$conn = mysqli_connect('localhost', 'root', 'secret', 'book'); 
if (mysqli_errno($conn)) {
    mysqli_error($conn);
    exit;
}
mysqli_set_charset($conn, 'utf8');

2. SQL 문을 준비하여 보냅니다.

조회해야 할 사용자 ID, 사용자 이름, 시간 및 IP는 찾기입니다. 밖으로. 내림차순으로 정렬하려면 ID 기준 순서를 사용하세요.

인간의 생각에 따르면 사람들은 일반적으로 최신 등록 사용자를 보는 것을 좋아합니다. ID는 자동으로 증가합니다. 즉, ID가 클수록 신규 사용자가 더 많이 등록됩니다. 따라서 SQL 문을 작성할 때 id desc를 기준으로 order를 작성합니다.

$sql = "select id,username,createtime,createip from user order by id desc";
$result = mysqli_query($conn, $sql);

3. 판단 결과

SQL 문이 정확하면 결과 변수 $result가 true가 됩니다. 따라서 $result 뿐만 아니라 구현 시 판단 단계를 하나 더 추가해야 합니다. 또한 쿼리된 행 수를 결정합니다.

행 수를 쿼리하려면 mysqli_num_rows를 사용하면 됩니다. 이 함수를 사용하려면 $result 쿼리의 결과 변수가 전달되어야 합니다.

결과가 있으면 목록이 표시됩니다. 결과가 없으면 프롬프트를 생성할 수 있습니다.

코드 조각은 다음과 같습니다.

if($result && mysqli_num_rows($result)){
    //显示列表代码段
}else{
    //提示没有结果的代码段
}

4. 루프 표시 데이터

모든 결과를 표시해야 합니다. 목록의 형태. 테이블의 행과 열은 데이터 테이블의 행과 열과 동일합니다. 표시된 것은 표시하기 쉽습니다.

먼저 테이블을 선언하고 반복될 때마다 한 행씩 출력합니다. 각 열에 결과를 표시합니다.

사용된 함수는 연관 배열을 반환하는 mysqli_fetch_assoc입니다.

결과 세트를 읽고 뒤로 한 번 이동하는 함수입니다. 읽은 후 결과가 없으면 bool 값 false가 반환됩니다. 따라서 우리는 mysqli_fetch_assoc과 협력하기로 결정했습니다.

각 루프의 결과는 $row에 할당되며 $row는 연관 배열입니다. 따라서 이 루프에서 행과 열을 모두 표시할 수 있습니다.

rree

5. 편집 및 삭제 제어 추가

1. 삭제 시 단일 선택 삭제와 다중 선택 삭제로 구분합니다. .

2. 편집 시 사용자를 선택합니다

페이지에서 삭제 및 편집을 수행하기 위해 이전 단계의 코드에 몇 가지 작은 사항을 추가했습니다.

구체적인 구현 과정을 추론하기 위해 실제 렌더링을 살펴보겠습니다.

QQ截图20161010100211.png

여러 측면이 있습니다. 구현 과정에서 핵심 사항:

1. 삭제 또는 편집을 선택할 때 어떤 사용자가 편집 또는 삭제되는지 알 수 있도록 get 메소드를 사용하여 ID를 전달해야 합니다.

2. 다중 선택 항목을 삭제할 때는 여러 사용자를 전달해야 합니다. 따라서 양식 양식과 게시 메소드를 사용하여 이 사용자 ID 배치를 제출할 수 있습니다.

단일 선택 삭제의 경우 delete.php에 따라 ID와 값을 추가하여 클릭 시 삭제 요청을 할 수 있습니다.
echo '<td><a href="delete.php?id=' . $row['id'] . '">사용자 삭제</a></td>'; 사용자에게도 동일하게 적용됩니다. ?를 추가하고 edit.php에 ID와 값을 작성하면 어떤 사용자를 편집해야 하는지 알 수 있습니다.
echo '<td><a href="edit.php?id=' . $row['id'] . '">사용자 편집</a></td>';

다중 선택 삭제를 하려면 HTML에서 체크박스를 사용해야 합니다. 여러 사용자 ID를 전달할 때는 이름 뒤에 id[]를 추가해야 합니다. 양식을 사용하여 테이블을 래핑하고 테이블 외부에 제출 태그를 추가하여 다중 선택 삭제를 수행합니다.

    echo '<table width="800" border="1">';
    while ($row = mysqli_fetch_assoc($result)) {
        echo '<tr>';
        echo '<td>' . $row['username'] . '</td>';
        echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>';
        echo '<td>' . long2ip($row['createip']) . '</td>';
        echo '</tr>';
    }
    echo '</table>';

코드는 다음과 같습니다.

<form action="delete.php" method="post">
echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>';
echo '<input type="submit" value="删除" />';
echo '</form>';

7. 데이터베이스 연결을 닫습니다

작업이 끝난 후 데이터베이스, 데이터베이스 연결을 닫습니다.

echo '<form action="delete.php" method="post">';
    echo '<table width="800" border="1">';
    while ($row = mysqli_fetch_assoc($result)) {
        echo '<tr>';
        echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>';
        echo '<td>' . $row['username'] . '</td>';
        echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>';
        echo '<td>' . long2ip($row['createip']) . '</td>';
        echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>';
        echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>';
        echo '</tr>';
    }
    echo '</table>';
    echo '<input type="submit" value="删除" />';
    echo '</form>';

우리가 구현한 사용자 목록 list.php 코드는 다음과 같습니다.

mysqli_close($conn);


다음 섹션
<?php $conn = mysqli_connect('localhost', 'root', 123456789, 'book'); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, 'utf8'); $sql = "select id,username,createtime,createip from user order by id desc"; $result = mysqli_query($conn, $sql); if ($result && mysqli_num_rows($result)) { echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>'; echo '</tr>'; } echo '</table>'; } else { echo '没有数据'; } mysqli_close($conn); ?>
코스웨어