[포인트 설치] 호출 기능에 대한 설명


포인트 설치의 과정, "PHP로 만든 호출 기능(총 10회)"의 비망록.복습에 쓰세요.
도해를 해보면 복잡한 게 아니라 간단한 프로그램이라는 걸 알 수 있으니 이 과정을 추천합니다.바삭바삭하게 만들 수 있을 것 같아서요.이번에는 수업 2부터 시작하는 해설이다.

GRNT 문의 기본 형식 #02


#02 데이터베이스 설정
GRNT문을 몰라서 필기하는 거예요.
GRANT ALL ON dotinstall_paging_php.* TO dbuser@localhost IDENTIFIED BY '********';
위의 글은 사용자 권한을 결정하는 GRANNT 문입니다.grant는 "~을 준다"는 뜻이다.
GRNT 문의 기본 형식은 다음과 같습니다.
GRANT '権限' ON 'データベース名.テーブルト名' TO 'ユーザー名@ホスト名';
권한은 SELECT 및 INSERT 등에서 사용할 수 있는 명령을 결정합니다.이번에는 ALL이기 때문에 모든 명령을 사용할 수 있습니다.수업에 사용된 GRANNT 문의 내용을 자세히 살펴보니 다음과 같은 내용이 발견됐다.
  • dbuser 사용자 만들기
  • dbuser 사용자에게 모든 권한(ALL)을 부여합니다.
  • 권한 범위는dotinstall입니다paging_php 데이터베이스에 있는 모든 표 (dotinstall paging php.*)
  • localhost라는 호스트로부터의 연결 허용
  • 비밀번호를 "****"
  • 로 설정
    그나저나 ON 다음은 명령할 수 있는 범위다.자기가 어디까지 통용할 수 있는지작법은 네 가지가 있다.
    -- グローバルレベル:
    GRANT 権限 ON *.* TO user;
    
    -- データベースレベル:
    GRANT 権限 ON db_name.* TO user;
    
    -- テーブルレベル:
    GRANT 権限 ON db_name.table_name TO user;
    
    -- カラムレベル:
    GRANT 権限 (カラム1, カラム2, ...) ON db_name.table_name TO user;
    
    한층 더 깊이 이해하기 위해 다음 사이트의 샘플을 볼 수 있다.
    Mysql 사용자/권한 관리

    error_reporting 상수로 #04 설정


    #04 데이터 확보 준비
    PDO를 사용하여 데이터베이스에 연결하는 글은 여기에 설명되어 있습니다.
    PDO를 사용한 PHP 데이터베이스 기본 작업
    그리고 다음 기사는 대충 요약하면 내용을 한꺼번에 알 수 있다.
    PDO를 처음 사용하는 분들은 6+1의 포인트를 아실 거예요.
    여기는 에로입니다.리포트 좀 보고 올게요.
    error_reporting(E_ALL & ~E_NOTICE);
    
    이것은 notice 이외의 모든 오류를 표시합니다.경고 말고이 상수의 뜻은 아래와 같다.
    상수
    컨텐트
    E_ALL
    지원되는 모든 오류와 경고PHP 5.4.0 이전 릴리즈에서 ESTRICT 레벨 오류는 예외입니다.
    E_NOTICE
    경고를 실행합니다.오류가 발생할 수 있는 상황을 만났음을 나타낸다.그러나 정상적인 스크립트를 실행하는 경우에도 경고를 보낼 수 있습니다.
    E_WARNING
    실행 시 경고입니다. (치명적인 오류가 아닙니다.)스크립트의 실행이 중단되지 않습니다.
    참조 소스:
    PHP 설명서:정의된 상수
    경고 표지가 한 개가 아니라는 것을 주의하세요.그래서 예를 들면'E WARNING'에도 기재돼 있다.인용원을 보면 알겠지만 매우 자세하게 나뉜다.하지만 평소에는 안 쓰죠.

    DB에서 HTML#05로 레코드 확장


    #05 주석 리스트 테이블 표시
    foreach
    foreach에 관하여 as는'~로서'라는 뜻이다.as 뒤에 있는 변수 이름에서 그룹을 처리할 때의 이름을 선택하십시오.
    foreach ('配列' as '変数名') {要素が1つ取り出す}
    
    참고로 뽑힌 순서는 아직 결정되지 않았다.키가 정수치라도 순서대로 꺼낸다는 것은 보장할 수 없다.
    array_push
    // 配列の最後に値を追加する
    array_push(配列, 追加する値);
    
    데이터 체크 아웃
    query 방법의 반환 값은 PDOStatement 대상이지만, 배열처럼 반복적으로 처리할 수 있습니다.따라서 이것을 이용하여 기록집을 수조로 변환한다.
    foreach ($dbh->query($sql) as $row) {
        array_push($comments, $row);
    }
    
    DB에서 HTML로 레코드를 확장하는 프로세스는 다음 그림과 같습니다.

    몇 행에서 몇 행의 데이터 가져오기#06


    #06 1페이지 표시
    문장.
    기능
    limit
    몇 줄을 얻다
    offset
    몇 줄에서 얻다
    다음은 샘플입니다.
    -- 5件目から10件取得
    select * from comments limit 10 offset 4;
    
    오프셋은 5가 아니라 4입니다.줄 수는 0부터 계산해야 하니 주의해라.그나저나 이 문장은 오프셋은 쓰지 않고 리미트만 쓰면 돼요.
    select * from comments limit 4, 10;
    

    페이지 관리 #07


    #07 제작 페이지 링크
    total
    // 全件取得
    select count(*) from table
    
    pagetotal
    切り上げ(総ページ数 / 1ページに表示するページ数)
    

    정규 표현식 #08


    #08 페이지 나누기 시험
    정규 표현식에 대한 해설.이렇게 하면 htmlspecialchars를 사용하지 않아도 된다.
    // パターンで指定した正規表現により、文字列を検索
    preg_match('パターン', '文字列');
    
    // 今回使用されたもの
    preg_match('/^[1-9][0-9]*$/', $_GET['page']);
    
    이것은 아래로 분류할 수 있다.
  • ^=행수
  • [1-9] = 1-9의 문자
  • [0-9]*1에서 9까지 0자 이상.
  • 달러=행미
  • 각 단어를 이해한 토대에서 문장의 뜻을 이해해라.
  • 행의 첫머리와 끝에 숫자가 끼어 있기 때문에 숫자만 지정됩니다.
  • 그리고 이 숫자는 1자 또는 2자입니다.
  • 첫 번째 문자는 1에서 9의 하나이다.
  • 두 번째 문자는 0에서 9의 하나이다.
  • 그나저나 *가 아닌 +라면 한 글자 이상이어야 한다.

    1페이지 링크 제작 #09#09#09#5416;, 1초 1초



    개수 표시 #10


    # 10건 등 표시
    $from = $offset + 1;
    $to = ($offset + COMMENTS_PER_PAGE) < $total ? ($offset + COMMENTS_PER_PAGE) : $total;
    
    상기 코드
    그래픽으로 표시

    좋은 웹페이지 즐겨찾기