[PHP 7] MySQL #01 메모장 만들기 📝

김와앙·2023년 10월 12일

PHP 7

목록 보기
6/20

✓mini TIP
  • 기본적으로 계속 사용하게될 문장은 모아서 기본 라이브러리에 저장해두는 것이 편하다.
  • include "21lib.php"; //이런 식으로 가져다 쓴다.

(ex) 21lib.php📂

<?php


    $connect = mysqli_connect("localhost","korea","VKDLXLD","korea");

        if (mysqli_connect_error()){
            echo "mysql 접속 중 오류가 발생했습니다.";
            // echo mysqli_connect_error();
        }

① 메모장을 만들기 전에 메모장 데이터에 뭐가 들어가는 지 구상하기
: 메모 내용, 작성자, 날짜 ... etc.

* idx(인덱스) 는 주로 데이터의 효율적인 관리를 위해 사용한다.

  • 구상대로 memo라는 테이블(=워크시트) 에 4개의 칼럼으로 구성하여 생성한다.

* VARCHAR = 글자수가 정해진 문자를 말함.

② 테이블에 데이터 입력해서 넣기

✓ 데이터를 단순히 불러올땐 select from, 입력하여 값을 넣을 때는 insert into 를 사용한다.

✓인덱스 값이 자동 증가하게 만들고 싶으면 해당 칼럼 설정에 A.I(Auto Increment) 자동 증가 설정을 체크 하면 된다.

그리고 insert 내용엔 idx를 제외한 나머지 정보만 입력하면 된다.
(primary key 🔑 값이 들어감. 무조건 새 값이 들어간다고 보면 된다.)

✓테이블 작업에서 테이블 비우기 가능. (TRUNCATE)

<?php

    include "21lib.php"; //라이브러리 사용

    $query = "insert into memo(name, memo, regedate) 
    values('김와앙','안녕하세요!','2023-10-12')";

    mysqli_query($connect,$query); // 이걸 해야 정보가 감 ! 
    
    

✓출력 결과

③ 실제 화면에 구성해서 데이터 입력받고 저장시키기

📑 page 구성

  • library.php : 모든 곳에서 사용되는 기본 문장 모음 zip
  • memo.php: 입력받고 데이터 보내는 화면 페이지
  • memoProc.php: 데이터를 받은 후 실행되는 페이지

➡️ memo.php 로 구성된 페이지, 사용자 입력 페이지이다. (html + php)

폼 태그로 action = "memoProc.php" 로 해놓으면 input 으로 사용자 입력을 받은 후 memoProc.php 가 작동하게 된다.

<?php

    include "21lib.php"; //라이브러리 사용


    $a = $_GET['memo'];
    $b = $_GET['name'];

    $c = date("Y-m-d H:i:s");

    $query = "insert into memo(name, memo, regedate) 
    values('$b','$a','$c')";

    mysqli_query($connect,$query);

    ?> 

➡️ 입력을 받으면 Procmemo.php 로 넘어오고,
이곳에서 mysql로 입력된 데이터를 넘기는 일을 하게 된다.

데이터를 지정했던 데이터의 이름으로 식별하여 받아서 각각 변수에 넣어서,
sql에 삽입해주는 함수를 진행하면 된다.

✓출력 결과

번외)
입력한 후 다시 원래 페이지 (memo.php) 로 돌아오는 법
php 문 아래에 java script 로 돌아오는 문장을 써준다.

<script>
        
        location.href = "21memo.php";

 </script>

④ 저장한 데이터 테이블 화면에 출력해서 보여주기

⭐️ 데이터를 넣을 땐 insert into , 데이터를 불러올 땐 select from

    <?php
    $query = "select * from memo";

    $result = mysqli_query($connect, $query);
?>

 <table border="1">
    <th>idx</th>
    <th>이름</th>
    <th>메모</th>
    <th>날짜</th>
<?php

    while($d = mysqli_fetch_Array($result)){
      
        echo "<tr>";
        echo "<td>";
        echo $d['idx'];
        echo "</td>";
        echo "<td>";
        echo $d['name'];
        echo "</td>";
        echo "<td>";
        echo $d['memo'];
        echo "</td>";
        echo "<td>";
        echo $d['regedate'];
        echo "</td>";
    
        echo "<tr>";
    }


?>

####  </table>
  • while 문안의 배열 변수는 mysql에 있는 해당 칼럼의 변수 이름으로 정하면 알아서 들어간다.

_번외)
데이터가 보여지는 순서 및 양을 조정하고 싶어요
!

$query = "select * from memo order by idx";// = 디폴트
$query = "select * from memo order by idx desc"; //역순배치
$query = "select * from memo limit 5; //보여지는 양 제한

간단하게 sql문 뒤를 수정해주면 된다._

✓출력 결과

profile
greedy college ssu.tudent 👩‍🎓

0개의 댓글