WEB3 - PHP & MySQL

활용 - 글읽기

수업소개

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

 

 

강의 1

 

소스 코드 변경사항

 

강의 2

소스코드 변경사항  

댓글

댓글 본문
작성자
비밀번호
  1. 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 자세히 보기