WEB3 - PHP & MySQL

활용 - 글읽기

수업소개

PHP의 mysqli API를 이용해서 MySQL Server로부터 데이터를 가져와서 글읽기 기능을 구현하는 방법을 소개합니다. 

 

 

강의 1

 

소스 코드 변경사항

 

강의 2

소스코드 변경사항  

댓글

댓글 본문
  1. jy2714hn
    200718 완료
  2. jaehyunlee
    06.14 고3 완료
  3. 바다의왕자
    완료
  4. 이번 수업은 폭풍 같달까요,, 촤르륵 몰아치 ㅎㅎ 정신없는 1인 ㅠㅠ 복습을 특히 꼼꼼하게 해야겠네용
  5. 여러분... 혹시 while($row = mysqli_fetch_array($result)) 요거 하실 때 첫번째 행이 안 뜨는 문제가 생긴다면
    while 전에 row의 변수값을 지정하지 않았는지 확인하세요...
    while에서 조건이 실행되면서 충돌이 일어나는 것 같습니다...
    복사해서 붙여넣은 것을 눈치채지 못해서 이것 때문에 한시간은 헤멨네요 여러분은 이런 실수를 하지 않으시길.......
  6. 냉탕에거북이
    감사합니닷-!
  7. 허공
    190508 감사합니다.
  8. incursio
    감사합니다
  9. 신광섭
    콤마 하나 때문에 30분을 허비해 버렸네요.
    하하 이게 코딩의 묘미 인 것이겠죠?
    즐겁게 따라가고 있습니다.
    중간에 뭔가 틀렸을때 찾는 재미가 또 있네요.
    :D
  10. ㅈㅈㅎ
    공백은 한 칸 띄어야 공백이들어가는거고 아무것도 안 들어있다고생각하시면 됩니다. 그리고 선언해주는 것은 아니지만,, 데이터타입을 알아서 정해주는 이런 언어에서는 선언이라고 생각해도 나쁘지는 않을 것 같네요
    대화보기
    • ozma00@nate.com
      엇 !! 답변 주셔서 감사합니다!! 항상 이고잉님께 감사한 마음으로 열공 하고 있습니다!!

      아 그리구요 이건 코딩야학 깃허브 질문란에서 제 질문에 답변주신 고마운분 에게

      질문 했던건데요 여기서도 질문 남겨봅니다!

      $ a = ' ' ; 이게 데이터 타입이 문자열인 공백이란 값이 들어있다는 건가요

      아님 그냥 $a=null 이란 뜻 인가요? 아님 $a 의 데이터 타입은 문자열이라고 선언 해주는 건가요?
      대화보기
      • egoing
        그렇게 해야 $list 변수에 순차적으로 값이 더해지거든요.
        대화보기
        • ozma00@nate.com
          궁금한게 있습니다!!
          $conn = mysqli_connect(
          'localhost',
          'root',
          '111111',
          'opentutorials');
          $sql = "SELECT * FROM topic";
          $result = mysqli_query($conn, $sql);
          $list = '';
          while($row = mysqli_fetch_array($result)) {
          $list = $list."<li><a href=\"index.php?id={$row['id']}\">{$row['title']}</a></li>";
          }
          이 코드에서
          $list = '';
          while($row = mysqli_fetch_array($result)) {
          $list = $list."<li><a href=\"index.php?id={$row['id']}\">{$row['title']}</a></li>";
          }
          이부분에 대해서 이해가 안가서 그러는데요
          왜 변수 값에 $list=' '; 이렇게 하는건지 궁금합니다 특별한 기능이 있는건가요?

          그리고 $list=' ' ; 이걸 빼고

          그냥 while($row = mysqli_fetch_array($result)) {
          $list ="<li><a href=\"index.php?id={$row['id']}\">{$row['title']}</a></li>";
          }

          이렇게 해보니깐 출력이 한 줄만 나오던데 왜 그러는건지 궁금합니다!

          $list =$list. <li>~~~</li> 왜 이렇게 $list=' '; 를 결합 해야지 데이터들이 다 출력이 되는거죠??
        • 윤민
          뒤에 ';' 붙였습니다
        • 윤민
          $sql = "SELECT * FROM topic WHERE id = {$_GET['id']}"
          아니 왜 이부분이 오류가 나는거죠? 몇시간째 답답하네요..;;
        • egoing
          $a = 1;
          print("aa $a aa") // 됩니다
          print("aa$aaa") // 안됩니다
          print("aa{$a}aa") // 됩니다
          즉 가급적 쓰시는게 명시적이고 좋습니다.
          대화보기
          • 양항준
            {$row['title']} 에서 중괄호는 어떡 역할인가요? 그리고 반드시 사용해야 하나요?
          • 프로그래멍
            강의 동영상에선 페이지 로드가 순간적으로 되는것같은데 제 실행화면에서 링크버튼을 누르면
            URL 상에서 http://localhost......php => http://localhost......php?id=3 이렇게 바뀌는게
            길면 2초가량 시간이 걸립니다 무슨차이때문에 그럴까요? 왜이리 느릴까요?
          • 박한석
            phpmyadmin에 있는 데이터를 가져와서
            php만 코딩 되어 있는 파일에서 echo로 출력하면
            한글이 깨지지 않습니다 그런데
            html태그 안에
            $row1=mysqli_fetch_array($result1); 이렇게 받은 값을
            $description="<a id=\"timeline_posttext\">".$row1["description"]."</a>";변수에 담아서

            <ul id="timeline_posttop">
            <li>
            <img src="img/post_profile_03.gif" alt="#" id="post_profile_photo"/>
            </li>
            <li>
            <?=$nametitle?>
            <?=$name?>
            </li>
            <li id="post_edt">
            <a href="#">
            <img src="img/post_profile_06_06.gif" alt="#" id="post_profile_edt" />
            </a>
            </li>

            이렇게 출력하려고 하면 깨집니다. 이유가 뭘까요 ㅠㅠ

            --
            html에 있는 meta charset utf-8을 지우니까 되긴 하는데...
            이제는 다른 html 한글이 깨지네요 ㅠㅠㅠㅠㅠ
          • Jinho Hyeon
            안녕하세요, 세상에 바보같은 질문은 없고. 궁금한건 물어보고 해결하는게 좋죠!
            문자열 안에 php 문법으로 반환되는 값을 넣고 싶을 때에 {$row['title']} 처럼 {}를 넣어서 사용합니다.

            $row['title']이 1 일 때
            <a href="index.php?id={$row['title']}">링크!</a> 를 하면
            <a href="index.php?id=1">링크!</a> 로 변환됩니다.

            반면에, <a href="$row['title']">링크!</a>를 할 경우
            <a href="$row['title']">링크!</a>로 그냥 HTML에 작성되는 걸 보실 수 있을 겁니다.

            궁금하시면 문자열 보간이나 string interpolation, template string 등 으로 검색하시면 찾아보실 수 있을 거에요.
            대화보기
            • 바보같은 답변일 수도 있겠지만 "" 안에서 사용할때는 그냥 다 중괄호 해서 사용한다고 생각하시면 이해하기 쉽고 실행도 다 되는것 같네요.
              대화보기
              • 제갈량
                감사합니다 ^^
              • PHP_MySqL
                바보 같은 질문일 수도 있을거 같은데
                어떤 상황일 때 $row['title'] 를 쓰고, 어떨 때 괄호를 붙여서 {$row['title']} 를 사용하는지 알 수 있을까요? ㅜㅜ
              버전 관리
              egoing
              현재 버전
              선택 버전
              graphittie 자세히 보기