<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Playdaddy</title>
    <link>https://stonefree.tistory.com/</link>
    <description>Life is short, Eat dessert first</description>
    <language>ko</language>
    <pubDate>Wed, 8 Apr 2026 07:03:22 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Playdaddy</managingEditor>
    <image>
      <title>Playdaddy</title>
      <url>https://tistory1.daumcdn.net/tistory/4433921/attach/04cfb05575a8459e9b6680f1a47445f9</url>
      <link>https://stonefree.tistory.com</link>
    </image>
    <item>
      <title>[Stable Diffusion] AI생성 그림 체크포인트 모델 (2dn_1) 리뷰</title>
      <link>https://stonefree.tistory.com/675</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;2dn_1 체크포인트 모델 AI그림 리뷰 (반실사)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;division&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;Data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Checkpoint (model)&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;2dn_1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Hypernetwork&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;SD VAE&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;vae-ft-mse-840000-ema-pruned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Sampling method&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;DPM++ 2M Karras&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Sampling Steps&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;pixel&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;512x768&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;CFG Scale&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Positive Prompt&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;((masterpiece:1.3)), ((best quality:1.5)), high_resolution, distinct_image, (photorealistic:1.4), (8k), (realistic), (hyper-realistic), ultra-etailed, very_high_realistic:1.5, very_high_resolution:1.5, HDR, CG, unity, 8k wallpaper, Amazing, finely detail, official art, extremely detailed CG unity 8k wallpaper, incredibly absurdres, ultra-detailed, professional lighting, photon mapping, radiosity, physically-based rendering, solo focus, sharp focus, highres, extremely detailed, extremely delicate and beautiful, intricate detail, facial muscles, [(((smile, happy, grin, flustered)))], symmetrical pupils, extremely detailed pupils, lustrous skin, perfect skin, (small-medium_breasts:1.3), slim body, narrow waist, Proper body proportion, perfect body, full_body, 1gril, korean girl, adult face, ((solo)), cyborg, robotics, humanoid, android,&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Negative Prompt&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;(easynegative), (ng_deepnegative_v1_75t:0.9), (worst quality:1.5), (low quality:1.5), (((bad eyes:1.5))), disabled body, paintings, sketches, lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (bad anatomy:1.5), [(loli:1.5), (child face:1.5)], (((deformed:1.5))), blurry, (bad anatomy:1.2), (long body :1.3) [(poorly drawn hands), fused fingers, missing fingers,(mutated hands and fingers:1.5)], [(mutation:1.5, mutant),malformed, mutated, anatomical nonsense], multiple breasts, [tilted head, text, error, extra digit, fewer digits, (cropped:1.5)], ((crowd)), areolae, crosseyed, crowd, (NSFW:0.7, LEWD, NAKED), [censor, censored, censor_bar, (watermark:1.5, logo:1.5, username:1.5, signature:1.5)],&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 29.186%;&quot;&gt;Seed&lt;/td&gt;
&lt;td style=&quot;width: 70.814%;&quot;&gt;-1 (random)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;먼저 위의 프롬프트에서 korean woman을 제거하고 &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;모델에 내장되어 있는 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;기본 데이터에서 사이보그 스타일의 예~쁜 여자를 뽑아봅시다~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Dynamic Prompts enabled 옵션을 키고 Combinational batches를 10으로 선택해서 10장의 포즈를 랜덤하게 뽑아봅니다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;모델에 대한 평가 리뷰인 관계로 잘못 뽑아진 이미지도 가감없이 업로드 했으니 이점은 참고 바랍니다~&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Basic Model (국가나 인종 지정 x)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00040-1364561826.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n6bDj/btr9dX2GIza/I1M7eMIAMY662cTpP9mdsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n6bDj/btr9dX2GIza/I1M7eMIAMY662cTpP9mdsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n6bDj/btr9dX2GIza/I1M7eMIAMY662cTpP9mdsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn6bDj%2Fbtr9dX2GIza%2FI1M7eMIAMY662cTpP9mdsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00040-1364561826.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00041-1364561827.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kU6rQ/btr9m8291mJ/v7q9J9cUlUCnrRJ3f6GNS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kU6rQ/btr9m8291mJ/v7q9J9cUlUCnrRJ3f6GNS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kU6rQ/btr9m8291mJ/v7q9J9cUlUCnrRJ3f6GNS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkU6rQ%2Fbtr9m8291mJ%2Fv7q9J9cUlUCnrRJ3f6GNS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00041-1364561827.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00042-1364561828.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T75JD/btr9eBMajlh/H1NNBuaJp7kXk96xUwvQe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T75JD/btr9eBMajlh/H1NNBuaJp7kXk96xUwvQe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T75JD/btr9eBMajlh/H1NNBuaJp7kXk96xUwvQe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT75JD%2Fbtr9eBMajlh%2FH1NNBuaJp7kXk96xUwvQe1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00042-1364561828.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00043-1364561829.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lUa2Q/btr9n7phfg6/kJIn8V36oOhPLCpSJfryP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lUa2Q/btr9n7phfg6/kJIn8V36oOhPLCpSJfryP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lUa2Q/btr9n7phfg6/kJIn8V36oOhPLCpSJfryP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlUa2Q%2Fbtr9n7phfg6%2FkJIn8V36oOhPLCpSJfryP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00043-1364561829.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00044-1364561830.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zD7ki/btr9mjxfqiO/Dhb7ReCTlMm2q6wTNjAs51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zD7ki/btr9mjxfqiO/Dhb7ReCTlMm2q6wTNjAs51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zD7ki/btr9mjxfqiO/Dhb7ReCTlMm2q6wTNjAs51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzD7ki%2Fbtr9mjxfqiO%2FDhb7ReCTlMm2q6wTNjAs51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00044-1364561830.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00045-1364561831.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOomkG/btr9dYN1NsO/7sKKIRMKvJW0adgbwPca31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOomkG/btr9dYN1NsO/7sKKIRMKvJW0adgbwPca31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOomkG/btr9dYN1NsO/7sKKIRMKvJW0adgbwPca31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOomkG%2Fbtr9dYN1NsO%2F7sKKIRMKvJW0adgbwPca31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00045-1364561831.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00046-1364561832.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9lVwT/btr9m89WGEW/juNGL2oBnPLWUUS7uwX0K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9lVwT/btr9m89WGEW/juNGL2oBnPLWUUS7uwX0K1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9lVwT/btr9m89WGEW/juNGL2oBnPLWUUS7uwX0K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9lVwT%2Fbtr9m89WGEW%2FjuNGL2oBnPLWUUS7uwX0K1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00046-1364561832.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00047-1364561833.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deas8K/btr9pYMf8Xu/KdYBClEPjeQy5kaKRTSON1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deas8K/btr9pYMf8Xu/KdYBClEPjeQy5kaKRTSON1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deas8K/btr9pYMf8Xu/KdYBClEPjeQy5kaKRTSON1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdeas8K%2Fbtr9pYMf8Xu%2FKdYBClEPjeQy5kaKRTSON1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00047-1364561833.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00048-1364561834.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dOHZcX/btr9mODQVXo/FqTujBQ56etG3OvpLrsQik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dOHZcX/btr9mODQVXo/FqTujBQ56etG3OvpLrsQik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dOHZcX/btr9mODQVXo/FqTujBQ56etG3OvpLrsQik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOHZcX%2Fbtr9mODQVXo%2FFqTujBQ56etG3OvpLrsQik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00048-1364561834.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00049-1364561835.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnwmOk/btr9mgtSnOU/i7E91cY0CcgodDPqCd3poK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnwmOk/btr9mgtSnOU/i7E91cY0CcgodDPqCd3poK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnwmOk/btr9mgtSnOU/i7E91cY0CcgodDPqCd3poK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnwmOk%2Fbtr9mgtSnOU%2Fi7E91cY0CcgodDPqCd3poK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00049-1364561835.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;사이보그나 휴머노이드 옵션을 줬지만 강조를 안해서 그런가 RPG게임에서 입고나올법한 갑옷 스타일의 드레스를 입은 그림을 뽑아줍니다... 그림 스타일은 실사와 일러스트 중간쯤인 2.5D 정도의 느낌이고 역시 서양과 동양인의 얼굴이 믹스된 느낌의 그림... Restore Face 옵션을 켜줬지만 미세하게 눈이나 눈동자가 어색하게 그려진걸 볼 수 있습니다... &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;요즘 Detactive Detailer가 Stable Diffusion 버전이 업데이트 되면서 옵션을 사용할 수 없게 되었다고 하는데... &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그래서 그런지 얼굴 디테일을 잡아주지 못하는 느낌이라 뭔가 아쉽습니다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그럼 이번에는 korean girl 이라는 prompt를 추가해서 같은 옵션으로 10장 뽑아봅니다~&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Korean Model (adult face)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00050-3704791846.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FpFC8/btr9sjJf3qo/JqI0ZDBnvBor6y5rpX3qbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FpFC8/btr9sjJf3qo/JqI0ZDBnvBor6y5rpX3qbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FpFC8/btr9sjJf3qo/JqI0ZDBnvBor6y5rpX3qbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFpFC8%2Fbtr9sjJf3qo%2FJqI0ZDBnvBor6y5rpX3qbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00050-3704791846.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00051-3704791847.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s8kBG/btr9m98Qhsc/UxUIgXKV4TYkXnspon61bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s8kBG/btr9m98Qhsc/UxUIgXKV4TYkXnspon61bk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s8kBG/btr9m98Qhsc/UxUIgXKV4TYkXnspon61bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs8kBG%2Fbtr9m98Qhsc%2FUxUIgXKV4TYkXnspon61bk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00051-3704791847.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00052-3704791848.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pKeOr/btr9dYtHjdi/7kOno8Mb9ktDur5567BLL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pKeOr/btr9dYtHjdi/7kOno8Mb9ktDur5567BLL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pKeOr/btr9dYtHjdi/7kOno8Mb9ktDur5567BLL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpKeOr%2Fbtr9dYtHjdi%2F7kOno8Mb9ktDur5567BLL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00052-3704791848.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00053-3704791849.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHADO9/btr9eAzIad2/GTlg62DRdeqoZAZ64jJu71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHADO9/btr9eAzIad2/GTlg62DRdeqoZAZ64jJu71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHADO9/btr9eAzIad2/GTlg62DRdeqoZAZ64jJu71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHADO9%2Fbtr9eAzIad2%2FGTlg62DRdeqoZAZ64jJu71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00053-3704791849.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00054-3704791850.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eGeXFi/btr9shYYqvI/XASXQKXU4WK20KgE8Rks5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eGeXFi/btr9shYYqvI/XASXQKXU4WK20KgE8Rks5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eGeXFi/btr9shYYqvI/XASXQKXU4WK20KgE8Rks5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeGeXFi%2Fbtr9shYYqvI%2FXASXQKXU4WK20KgE8Rks5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00054-3704791850.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00055-3704791851.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mLv5P/btr9nIQJs2N/AKXqrMvNSidjmkNaK8MwD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mLv5P/btr9nIQJs2N/AKXqrMvNSidjmkNaK8MwD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mLv5P/btr9nIQJs2N/AKXqrMvNSidjmkNaK8MwD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmLv5P%2Fbtr9nIQJs2N%2FAKXqrMvNSidjmkNaK8MwD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00055-3704791851.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00056-3704791852.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dixVne/btr9mRN5CAP/ztJ6TBXxrErVjFbdeuaLVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dixVne/btr9mRN5CAP/ztJ6TBXxrErVjFbdeuaLVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dixVne/btr9mRN5CAP/ztJ6TBXxrErVjFbdeuaLVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdixVne%2Fbtr9mRN5CAP%2FztJ6TBXxrErVjFbdeuaLVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00056-3704791852.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00057-3704791853.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qaTNJ/btr9kkiUX4n/JwiKmzWAuTI8a2exfZzsk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qaTNJ/btr9kkiUX4n/JwiKmzWAuTI8a2exfZzsk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qaTNJ/btr9kkiUX4n/JwiKmzWAuTI8a2exfZzsk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqaTNJ%2Fbtr9kkiUX4n%2FJwiKmzWAuTI8a2exfZzsk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00057-3704791853.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00058-3704791854.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3ynO8/btr9shEFPeA/uLGJOwpgiikQ0SazAUT4O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3ynO8/btr9shEFPeA/uLGJOwpgiikQ0SazAUT4O0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3ynO8/btr9shEFPeA/uLGJOwpgiikQ0SazAUT4O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3ynO8%2Fbtr9shEFPeA%2FuLGJOwpgiikQ0SazAUT4O0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00058-3704791854.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00059-3704791855.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XRgAx/btr9kkb9W7Z/N9wKKUvNkX9rdFfhK3Mmy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XRgAx/btr9kkb9W7Z/N9wKKUvNkX9rdFfhK3Mmy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XRgAx/btr9kkb9W7Z/N9wKKUvNkX9rdFfhK3Mmy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXRgAx%2Fbtr9kkb9W7Z%2FN9wKKUvNkX9rdFfhK3Mmy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00059-3704791855.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;역시나 눈... 특히 눈동자 부분이 많이 무너지는걸 볼 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그리고 원래가 Mixed 스타일의 인물이라 그런지 Korean girl 이라는 키워드가 그리 역할을 하지 못하는거 같습니다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;혹시나 해서 이번엔 adult face 프롬프트를 빼고 k-pop idol 을 추가해서 다시한번 10장을 뽑아봅니다~&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Korean Model (k-pop Idol)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00060-2041839907.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNgVs6/btr9n6cQ6XG/uRDnhbJzR0lviBm2jW0280/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNgVs6/btr9n6cQ6XG/uRDnhbJzR0lviBm2jW0280/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNgVs6/btr9n6cQ6XG/uRDnhbJzR0lviBm2jW0280/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNgVs6%2Fbtr9n6cQ6XG%2FuRDnhbJzR0lviBm2jW0280%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00060-2041839907.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00061-2041839908.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDG5tc/btr9ppDeCi9/CoKXtiEFI3TKeQqOml9vtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDG5tc/btr9ppDeCi9/CoKXtiEFI3TKeQqOml9vtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDG5tc/btr9ppDeCi9/CoKXtiEFI3TKeQqOml9vtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDG5tc%2Fbtr9ppDeCi9%2FCoKXtiEFI3TKeQqOml9vtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00061-2041839908.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00062-2041839909.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSnDmT/btr9pcxdmYl/DdONtwUMExC87w7aoRnteK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSnDmT/btr9pcxdmYl/DdONtwUMExC87w7aoRnteK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSnDmT/btr9pcxdmYl/DdONtwUMExC87w7aoRnteK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSnDmT%2Fbtr9pcxdmYl%2FDdONtwUMExC87w7aoRnteK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00062-2041839909.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00063-2041839910.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbWW2q/btr9kiyEEyh/hr2OmkwzzomXd9UriwnHZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbWW2q/btr9kiyEEyh/hr2OmkwzzomXd9UriwnHZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbWW2q/btr9kiyEEyh/hr2OmkwzzomXd9UriwnHZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbWW2q%2Fbtr9kiyEEyh%2Fhr2OmkwzzomXd9UriwnHZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00063-2041839910.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00064-2041839911.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n1GhN/btr9n7phlvt/ZHdXlrs5BZHh5BAFK4WYJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n1GhN/btr9n7phlvt/ZHdXlrs5BZHh5BAFK4WYJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n1GhN/btr9n7phlvt/ZHdXlrs5BZHh5BAFK4WYJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn1GhN%2Fbtr9n7phlvt%2FZHdXlrs5BZHh5BAFK4WYJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00064-2041839911.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00065-2041839912.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bol0w0/btr9m9Vjazz/BgdwEA1su3yR3hyjJqVhkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bol0w0/btr9m9Vjazz/BgdwEA1su3yR3hyjJqVhkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bol0w0/btr9m9Vjazz/BgdwEA1su3yR3hyjJqVhkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbol0w0%2Fbtr9m9Vjazz%2FBgdwEA1su3yR3hyjJqVhkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00065-2041839912.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00066-2041839913.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IkJWt/btr9mjYkF4t/00covowpzFK737ozAWYi20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IkJWt/btr9mjYkF4t/00covowpzFK737ozAWYi20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IkJWt/btr9mjYkF4t/00covowpzFK737ozAWYi20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIkJWt%2Fbtr9mjYkF4t%2F00covowpzFK737ozAWYi20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00066-2041839913.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00067-2041839914.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EAm1h/btr9naNswFB/V2KMpd7unKEHejkoSxQye0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EAm1h/btr9naNswFB/V2KMpd7unKEHejkoSxQye0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EAm1h/btr9naNswFB/V2KMpd7unKEHejkoSxQye0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEAm1h%2Fbtr9naNswFB%2FV2KMpd7unKEHejkoSxQye0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00067-2041839914.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00068-2041839915.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOb3Z/btr9pZdjJLR/cdtGl4U8PK5qx5NL3XX4y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOb3Z/btr9pZdjJLR/cdtGl4U8PK5qx5NL3XX4y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOb3Z/btr9pZdjJLR/cdtGl4U8PK5qx5NL3XX4y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOb3Z%2Fbtr9pZdjJLR%2FcdtGl4U8PK5qx5NL3XX4y0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00068-2041839915.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00069-2041839916.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1X2tt/btr9pZK9ecn/5mxPuQnJz1vEbB7BREqIok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1X2tt/btr9pZK9ecn/5mxPuQnJz1vEbB7BREqIok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1X2tt/btr9pZK9ecn/5mxPuQnJz1vEbB7BREqIok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1X2tt%2Fbtr9pZK9ecn%2F5mxPuQnJz1vEbB7BREqIok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00069-2041839916.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;프롬프트를 바꿔주니 얼굴이 아주 쪼~금 어려진 느낌은 있습니다... 만&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt; 실제로 별반 차이는 없습니다... &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이 체크포인트 모델만의 스타일이 있는듯... &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그나저나 중간중간 눈이 자주 무너지는건 좀 고질적이네요...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그럼 이번에는 마지막으로 KoreanDollLineness_v15 로라를 적용해서 10장을 뽑아봅니다~~&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Korean Model (Lora적용)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00070-3790606347.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Nt0Mu/btr9n7W86La/npN332r1ixaygHT4nruIU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Nt0Mu/btr9n7W86La/npN332r1ixaygHT4nruIU1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Nt0Mu/btr9n7W86La/npN332r1ixaygHT4nruIU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNt0Mu%2Fbtr9n7W86La%2FnpN332r1ixaygHT4nruIU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00070-3790606347.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00071-3790606348.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRu8gR/btr9siQ7ZGx/Iisps4c5uLfiOXLlEJu8n1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRu8gR/btr9siQ7ZGx/Iisps4c5uLfiOXLlEJu8n1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRu8gR/btr9siQ7ZGx/Iisps4c5uLfiOXLlEJu8n1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRu8gR%2Fbtr9siQ7ZGx%2FIisps4c5uLfiOXLlEJu8n1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00071-3790606348.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00072-3790606349.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brT0Sw/btr9nJhNYKE/0ywCwEM5tYhRfkOTpPFoz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brT0Sw/btr9nJhNYKE/0ywCwEM5tYhRfkOTpPFoz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brT0Sw/btr9nJhNYKE/0ywCwEM5tYhRfkOTpPFoz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrT0Sw%2Fbtr9nJhNYKE%2F0ywCwEM5tYhRfkOTpPFoz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00072-3790606349.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00073-3790606350.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNdYjr/btr9pZEnE1K/r98QEzeLj9HCeEFaIvQcck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNdYjr/btr9pZEnE1K/r98QEzeLj9HCeEFaIvQcck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNdYjr/btr9pZEnE1K/r98QEzeLj9HCeEFaIvQcck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNdYjr%2Fbtr9pZEnE1K%2Fr98QEzeLj9HCeEFaIvQcck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00073-3790606350.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00074-3790606351.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/904cn/btr9dXVSc36/BM9nlFRZlbmYooSdOmjk80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/904cn/btr9dXVSc36/BM9nlFRZlbmYooSdOmjk80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/904cn/btr9dXVSc36/BM9nlFRZlbmYooSdOmjk80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F904cn%2Fbtr9dXVSc36%2FBM9nlFRZlbmYooSdOmjk80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00074-3790606351.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00075-3790606352.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkKOfp/btr9mTkNXGP/i9cOWlPdaKEAAcOk8XwIVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkKOfp/btr9mTkNXGP/i9cOWlPdaKEAAcOk8XwIVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkKOfp/btr9mTkNXGP/i9cOWlPdaKEAAcOk8XwIVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkKOfp%2Fbtr9mTkNXGP%2Fi9cOWlPdaKEAAcOk8XwIVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00075-3790606352.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00076-3790606353.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FyKfk/btr9mODQ8te/qXwsyPWu0DYbMKAvc8WpbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FyKfk/btr9mODQ8te/qXwsyPWu0DYbMKAvc8WpbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FyKfk/btr9mODQ8te/qXwsyPWu0DYbMKAvc8WpbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFyKfk%2Fbtr9mODQ8te%2FqXwsyPWu0DYbMKAvc8WpbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00076-3790606353.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00077-3790606354.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/od7Gr/btr9dY1DW3F/SXm6fpTlE3fYFVIKOZ8XJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/od7Gr/btr9dY1DW3F/SXm6fpTlE3fYFVIKOZ8XJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/od7Gr/btr9dY1DW3F/SXm6fpTlE3fYFVIKOZ8XJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fod7Gr%2Fbtr9dY1DW3F%2FSXm6fpTlE3fYFVIKOZ8XJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00077-3790606354.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00078-3790606355.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bctyLG/btr9nnsqd89/vRvgeQoAhTaj1UkWoqHZp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bctyLG/btr9nnsqd89/vRvgeQoAhTaj1UkWoqHZp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bctyLG/btr9nnsqd89/vRvgeQoAhTaj1UkWoqHZp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbctyLG%2Fbtr9nnsqd89%2FvRvgeQoAhTaj1UkWoqHZp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00078-3790606355.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;00079-3790606356.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9AWYC/btr9n6DV8mm/xiSdycBLnp31YCcqsVH4VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9AWYC/btr9n6DV8mm/xiSdycBLnp31YCcqsVH4VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9AWYC/btr9n6DV8mm/xiSdycBLnp31YCcqsVH4VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9AWYC%2Fbtr9n6DV8mm%2FxiSdycBLnp31YCcqsVH4VK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;768&quot; data-filename=&quot;00079-3790606356.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;로라를 적용하니 뭔가 이미지는 확실히 변화는 있습니다... &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;근데 저런 얼굴들이 한국 아이돌 이미지인가??? 잘 모르겠네요...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;역시나 고질적인 눈 무너짐은 여전하지만 전체적인 느낌은 그냥 나쁘지는 않습니다...&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;아.... DDtailer가 절실히 필요하네요..... ㅜㅜ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;종합 리뷰&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.5426%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;항목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.0309%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;평점 (10점만점)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 65.4264%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;코멘트&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.5426%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;background-color: #efefef; color: #333333; text-align: start;&quot;&gt;색감&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.0309%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;7.5&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 65.4264%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;역시나 주어지는 프롬프트에 따라 전체적인 색감이나 빛감이 컨트라스트가 강한 편이고 극실사를 좋아하는 사람들 보다는 일러스트 느낌을 좋아하는 분들이 선호할듯...&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.5426%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;조형(형태)감&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.0309%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;7.0&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 65.4264%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;물론 주어지는 프롬프트에 따라 너무나 달라지겠지만 우선 기본적으로 구현하고 있는 그림의 비율이나 형태감은 좋으나 여러가지 네거티브 프롬프트를 발랐음에도 불구하고 배드 아이들을 완벽하게 잡아주지 못하는 부분은 아쉬운 부분이다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.5426%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;완성도(디테일)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.0309%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;8.0&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 65.4264%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;다양하게 뽑아주는 다양한 슈트나 여러가지 배경들은 비교적 완성도와 디테일이 높은 편...&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.5426%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;종합&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.0309%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;7.5&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 65.4264%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;태생이 Mixed 모델이라서 그런지 등장 인물들 역시 동양과 서양의 이미지가 많이 혼재하고 있다... 사람에 따라 많은 호불호가 갈릴 것으로 예상된다...&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Digital Art/AI Generated Art</category>
      <category>ai그림</category>
      <category>sd</category>
      <category>StableDiffusion</category>
      <category>모델리뷰</category>
      <category>반실사</category>
      <category>스테이블디퓨전</category>
      <category>인물그림</category>
      <category>체크포인트</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/675</guid>
      <comments>https://stonefree.tistory.com/675#entry675comment</comments>
      <pubDate>Tue, 11 Apr 2023 01:58:43 +0900</pubDate>
    </item>
    <item>
      <title>[동영상] 스테이블 디퓨전 확장프로그램</title>
      <link>https://stonefree.tistory.com/674</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;동영상 주소 : &lt;a href=&quot;https://youtu.be/dChnFbyKNKU&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/dChnFbyKNKU&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=dChnFbyKNKU&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bp5aX9/hyR11FBwXO/bLWVXcXRs6QpZbNcQ83HE1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/dChnFbyKNKU&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Quicksetting List&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sd_model_checkpoint,&amp;nbsp;sd_hypernetwork,&amp;nbsp;CLIP_stop_at_last_layers,&amp;nbsp;sd_vae&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프롬프트&amp;nbsp;태그&amp;nbsp;자동완성 &lt;br /&gt;&lt;a href=&quot;https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;그림&amp;nbsp;디테일을&amp;nbsp;비약적으로&amp;nbsp;상승시킴 &lt;br /&gt;&lt;a href=&quot;https://github.com/mcmonkeyprojects/sd-dynamic-thresholding.git&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/mcmonkeyprojects/sd-dynamic-thresholding.git&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;모델&amp;nbsp;디테일러 &lt;br /&gt;&lt;a href=&quot;https://github.com/dustysys/ddetailer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/dustysys/ddetailer&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;??? &lt;br /&gt;VRAM&amp;nbsp;Estimator&amp;nbsp;for&amp;nbsp;stable-diffusion-webui &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/adieyal/sd-dynamic-prompts.git&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/adieyal/sd-dynamic-prompts.git&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확장프로그램&amp;nbsp;(playsin플레이신)&lt;br /&gt;&lt;a href=&quot;https://github.com/KutsuyaYuki/ABG_extension&quot;&gt;https://github.com/KutsuyaYuki/ABG_extension&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper&quot;&gt;https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/icepeng/ddetailer&quot;&gt;https://github.com/icepeng/ddetailer&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111&quot;&gt;https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/alemelis/sd-webui-ar&quot;&gt;https://github.com/alemelis/sd-webui-ar&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/Mikubill/sd-webui-controlnet&quot;&gt;https://github.com/Mikubill/sd-webui-controlnet&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/jexom/sd-webui-depth-lib&quot;&gt;https://github.com/jexom/sd-webui-depth-lib&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/Gerschel/sd_web_ui_preset_utils&quot;&gt;https://github.com/Gerschel/sd_web_ui_preset_utils&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/hallatore/stable-diffusion-webui-chatgpt-utilities&quot;&gt;https://github.com/hallatore/stable-diffusion-webui-chatgpt-utilities&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/opparco/stable-diffusion-webui-composable-lora&quot;&gt;https://github.com/opparco/stable-diffusion-webui-composable-lora&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/opparco/stable-diffusion-webui-two-shot&quot;&gt;https://github.com/opparco/stable-diffusion-webui-two-shot&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/fkunn1326/openpose-editor&quot;&gt;https://github.com/fkunn1326/openpose-editor&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://huggingface.co/Yukihime256/84...&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/Yukihime256/84...&lt;/a&gt; &lt;br /&gt;840000-ema-pruned.ckpt &lt;br /&gt;&lt;a href=&quot;https://huggingface.co/hakurei/waifu-...&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/hakurei/waifu-...&lt;/a&gt; &lt;br /&gt;kl-f8-anime2.ckpt &lt;br /&gt;vae&amp;nbsp;2가지&amp;nbsp;다운주소 &lt;br /&gt;&lt;br /&gt;sd_model_checkpoint,sd_vae &lt;br /&gt;VAE&amp;nbsp;칸&amp;nbsp;만드는&amp;nbsp;명령어 &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://visualstudio.microsoft.com/ko...&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://visualstudio.microsoft.com/ko...&lt;/a&gt; &lt;br /&gt;ddetailer용&amp;nbsp;비주얼&amp;nbsp;스튜디오&amp;nbsp;다운로드&amp;nbsp;페이지 &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://arca.live/b/aiart/60334428&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://arca.live/b/aiart/60334428&lt;/a&gt; &lt;br /&gt;아카라이브&amp;nbsp;그림&amp;nbsp;클릭해서&amp;nbsp;exif&amp;nbsp;프롬프트&amp;nbsp;바로&amp;nbsp;보기 &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://huggingface.co/datasets/gsdf/...&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/datasets/gsdf/...&lt;/a&gt; &lt;br /&gt;이지&amp;nbsp;네거티브(easynegative)&amp;nbsp;다운주소 &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://civitai.com/models/11422&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://civitai.com/models/11422&lt;/a&gt; &lt;br /&gt;김홍도&amp;nbsp;로라 &lt;br /&gt;&lt;a href=&quot;https://civitai.com/models/16014&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://civitai.com/models/16014&lt;/a&gt; &lt;br /&gt;라인&amp;nbsp;로라(Anime&amp;nbsp;Lineart) &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://platform.openai.com/account/a...&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://platform.openai.com/account/a...&lt;/a&gt; &lt;br /&gt;chatgpt&amp;nbsp;시크릿&amp;nbsp;키&amp;nbsp;생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>GPT/Stable Diffusion</category>
      <author>동녘하늘</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/674</guid>
      <comments>https://stonefree.tistory.com/674#entry674comment</comments>
      <pubDate>Thu, 23 Mar 2023 22:33:10 +0900</pubDate>
    </item>
    <item>
      <title>[AI그림] 스테이블 디퓨전 WEBUI</title>
      <link>https://stonefree.tistory.com/673</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 스테이블 디퓨전 설치를 위한 사전 준비 (모델)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(1) 체크포인트&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 설명 : 전체적인 형태를 잡아주는 모델. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;만들고자 하는 이미지를 산과 나무라고 비유했을 때 산의 형태를 만드는 모델이라고 생각하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 링크 : &lt;a href=&quot;https://civitai.com/api/download/models/11745&quot;&gt;https://civitai.com/api/download/models/11745&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(2) 로라&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 설명 : 체크포인트가 배경을 담당하는 모델이라면 로라는 손이나 얼굴 등 세부적인 부분을 담당하는 모델.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 링크 :&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://huggingface.co/datasets/KrakExilios/koreandoll/tree/main&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/datasets/KrakExilios/koreandoll/tree/main&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 링크 클릭후 korean Doll Likeness 다운로드&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(3) VAE&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 설명 : 사진 보정을 해주는 역할 - 현실감 있는 사진과 같은 이미지를 만들어줌.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 링크 : &lt;a href=&quot;https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;링크후 가장 마지막 파일 다운로드&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(4) 네거티브 프롬프트&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 설명 : 스테이블 디퓨전으로 이미지 생성시 손가락이 여러개 라던가 등등의 문제를 해결해 주는 모델.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 링크 : &lt;a href=&quot;https://civitai.com/api/download/models/5637&quot;&gt;https://civitai.com/api/download/models/5637&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; 프롬프트 예시 :&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #f1f1f1; text-align: start;&quot;&gt;ng_deepnegative_v1_75t, paintings, sketches, (low quality:2), (normal quality:2), (worst quality:2), lowres, ((monochrome)), ((grayscale)), acnes, skin spots, age spot, skin blemishes, bad feet, ((wrong feet)),(wrong shoes), bad hands, distorted, blurry, missing fingers, multiple feet, bad knees, extra fingers&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 스테이블 디퓨전 설치방법 (구글 코렙을 사용하는 방법)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=MhoM2iPHXHo&quot;&gt;https://www.youtube.com/watch?v=MhoM2iPHXHo&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=MhoM2iPHXHo&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/ssXy6/hyR9EcbjcW/HeHbxKi75p35nqjwDPyBK0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=702_126_858_296&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;스테이블 디퓨전으로 AI 실사 쉽게 만들기! (Stable diffusion 사용법)&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/MhoM2iPHXHo&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동영상&amp;nbsp;주소:&amp;nbsp;&lt;a href=&quot;https://youtu.be/1KYcpUGwVWk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/1KYcpUGwVWk&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=1KYcpUGwVWk&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/3s0AG/hyR107Kk7r/OwQt9635gxv3E5B4chA7dK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/1KYcpUGwVWk&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샘플링&amp;nbsp;메쏘드&amp;nbsp;다운로드&amp;nbsp;사이트 &lt;br /&gt;&lt;a href=&quot;https://huggingface.co/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;https://huggingface.co/WarriorMama777/OrangeMixs/tree/main/Models/AbyssOrangeMix3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://huggingface.co/WarriorMama777/OrangeMixs/tree/main/Models/AbyssOrangeMix3&lt;/a&gt; &lt;br /&gt;다운로드&amp;nbsp;파일&amp;nbsp;아래&amp;nbsp;폴더에&amp;nbsp;복사&amp;nbsp;또는&amp;nbsp;저장 &lt;br /&gt;C:\stable\repo\models\Stable-diffusion &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;스테이블&amp;nbsp;디퓨전&amp;nbsp;프롬프트&amp;nbsp;태그사이트(AI가&amp;nbsp;쉽게&amp;nbsp;이해하는&amp;nbsp;태그가&amp;nbsp;정리된&amp;nbsp;사이트) &lt;br /&gt;&lt;a href=&quot;https://novelai.io/tags&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://novelai.io/tags&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;컨트롤넷 &lt;br /&gt;&lt;a href=&quot;https://github.com/Mikubill/sd-webui-controlnet.git&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/Mikubill/sd-webui-controlnet.git&lt;/a&gt;&lt;/p&gt;</description>
      <category>GPT/Stable Diffusion</category>
      <author>동녘하늘</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/673</guid>
      <comments>https://stonefree.tistory.com/673#entry673comment</comments>
      <pubDate>Thu, 23 Mar 2023 22:27:27 +0900</pubDate>
    </item>
    <item>
      <title>나를 일깨우는 명언 &amp;amp; 격언 (1)</title>
      <link>https://stonefree.tistory.com/672</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Once you say your're going to settle for second, that's what happens to you in life, I find.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;당신이 자신은 2위로 만족한다고 일단 말하면, 당신의 인생은 그렇게 되기 마련이라는 것을 나는 깨달았다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;970&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QrNeM/btrT4eRRgh0/WOMb4L4N7DwkN9YeFX4e31/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QrNeM/btrT4eRRgh0/WOMb4L4N7DwkN9YeFX4e31/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QrNeM/btrT4eRRgh0/WOMb4L4N7DwkN9YeFX4e31/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQrNeM%2FbtrT4eRRgh0%2FWOMb4L4N7DwkN9YeFX4e31%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;389&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;970&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- John F. Kennedy&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- 존 에프 케네디(미국 대통령, 1917~1963)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;집안이 나쁘다고 탓하지 말라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나는 아홉 살 때 아버지를 잃고 마을에서 쫒겨났다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가난하다고 말하지 말라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나는 들쥐를 잡아먹으며 연명했고,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;목숨을 건 전쟁이 내 직업이고 내 일이었다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;작은 나라에서 태어났다고 말하지 말라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그림자 말고는 친구도 없고 병사로만 10만,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;백성은 어린애, 노인까지 합쳐 200만도 되지 않았다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배운게 없다고 힘이 없다고 탓하지 말라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나는 내 이름조차 쓸 줄 몰랐으나 남의 말에 귀기울이면서 현명해지는 법을 배웠다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;너무 막막하다고, 그래서 포기해야겠다고 말하지 말라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나는 목에 칼을 쓰고도 탈출했고, 뻄에 화살을 맞고 죽었다 살아나기도 했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;적은 밖에 있는 것이 아니라 내 안에 있었다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나는 내게 거추장스로운 것은 깡그리 쓸어버렸다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나를 극복하는 그 순간 나는 칭기즈칸이 되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;253&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eveP7j/btrTZz3rNA3/W0gmFCajjyRtipHDEp8kg0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eveP7j/btrTZz3rNA3/W0gmFCajjyRtipHDEp8kg0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eveP7j/btrTZz3rNA3/W0gmFCajjyRtipHDEp8kg0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeveP7j%2FbtrTZz3rNA3%2FW0gmFCajjyRtipHDEp8kg0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;379&quot; data-origin-width=&quot;253&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; font-family: 'Noto Sans Light';&quot;&gt;- 베얼즈진 테무친(1162~1227)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;We have no more right to consume happiness without producing it than to consume wealth without producing it.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;재물을 스스로 만들지 않는 사람에게는 쓸 권리가 없듯이 행복도 스스로 만들지 않는 사람에게는 누릴 권리가 없다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;189&quot; data-origin-height=&quot;267&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9aSKC/btrTZABi82n/Bg7Rx94FIsFpqNj2hhM0Ck/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9aSKC/btrTZABi82n/Bg7Rx94FIsFpqNj2hhM0Ck/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9aSKC/btrTZABi82n/Bg7Rx94FIsFpqNj2hhM0Ck/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9aSKC%2FbtrTZABi82n%2FBg7Rx94FIsFpqNj2hhM0Ck%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;424&quot; data-origin-width=&quot;189&quot; data-origin-height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;-George Bernard Shaw&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;-조지 버나드 쇼(영국 극작가, 1856~1950)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Be not careless in deeds, nor confused in words, nor rambling in though.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;행동을 부주의하게 하지 말고, 말을 혼동되게 하지 말며, 생각을 두서없이 하지 말라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;315&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6Hhha/btrT4dMb5E1/FrmaJ5HPdg02ixdneNbNp1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6Hhha/btrT4dMb5E1/FrmaJ5HPdg02ixdneNbNp1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6Hhha/btrT4dMb5E1/FrmaJ5HPdg02ixdneNbNp1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6Hhha%2FbtrT4dMb5E1%2FFrmaJ5HPdg02ixdneNbNp1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;438&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;315&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- Marcus Aurelius&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- 마르쿠스 아우렐리우스(철학자, 로마 황제 121~180)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;As you grow older you will discover that you have two hands.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;One for helping yourself, the other for helping others.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나이가 들어가면서 당신은 알게 될 거에요, 당신이 두 개의 손을 갖고 있음을.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;한 손은 당신을 돕기 위해, 그리고 나머지 한 손은 다른 사람을 돕기 위해&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvo2ur/btrUapYXS2x/O4CfKcfaxtbJZKkuo7ozt0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvo2ur/btrUapYXS2x/O4CfKcfaxtbJZKkuo7ozt0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvo2ur/btrUapYXS2x/O4CfKcfaxtbJZKkuo7ozt0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbvo2ur%2FbtrUapYXS2x%2FO4CfKcfaxtbJZKkuo7ozt0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;373&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;712&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- Sam Levenson&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- 샘 레븐슨(미국 작가, 시인 1911~1980)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Love does not consist in gazing at each other, but in looking together in the same direction.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;사랑은 두 사람이 마주 쳐다보는 것이 아니라 함께 같은 방향을 바라보는 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;210&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qsUSP/btrT98Kbwhr/LsSYIb0IRiVYHyIczxgE7k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qsUSP/btrT98Kbwhr/LsSYIb0IRiVYHyIczxgE7k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qsUSP/btrT98Kbwhr/LsSYIb0IRiVYHyIczxgE7k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqsUSP%2FbtrT98Kbwhr%2FLsSYIb0IRiVYHyIczxgE7k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;409&quot; data-origin-width=&quot;210&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- Antonie de Saint-Exupery&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- 앙트안느 드 생텍쥐페리(프랑스 작가, 비행가, 100~1944)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>나를 일깨우는 명언</category>
      <category>격언</category>
      <category>나를일깨우는명언</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/672</guid>
      <comments>https://stonefree.tistory.com/672#entry672comment</comments>
      <pubDate>Tue, 20 Dec 2022 02:09:23 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 웹에서 입력한 코드 결과 보기 (2/2) - 코드의 실행 결과 보기</title>
      <link>https://stonefree.tistory.com/669</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 웹에서 입력한 코드 결과 보기 (2/2) - 코드의 실행 결과 보기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[코드 196]에서 입력한 코드를 받아서 파일로 생성하는 기능을 구현한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;파일명은 mt_rand() 함수를 사용하여 랜덤으로 정하며, 중복 파일이 있는지 확인 후 중복 파일이 있다면 다른 파일명을 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;파일명은 찾은 후 해당 파일을 생성하여 입력한 코드를 파일에 fwrite() 함수를 사용해 쓴 후 해당 파일로 이동하는 방식으로 구현한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;생성한 코드 파일은 [webEditor] 폴더에 있는 [codeList] 폴더에 저장하므로 [webEditor] 폴더에 [codeList] 폴더를 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 입력한 코드를 실행하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 197_playCode.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';

  $code = $_POST['code'];

  // 파일명 만들기
  function makeFileName(){
    $existsFileList = array();
    $opendir = opendir('./codeList');

    while(($readdir = readdir($opendir))){
      array_push($existsFileList, $readdir);
    }

    $isEqualNameCheck = false;

    while(true){
      $fileName = 'php200-'.mt_rand().'.php';

      foreach($existsFileList as $efl){
        if($existsFileList == $fileName){
          $isEqualNameCheck = true;
        }
      }

      if($isEqualNameCheck == false){
        return $fileName;
      }
    }
  }

  $fileName = makeFileName();
  $filePath = $_SERVER['DOCUMENT_ROOT'].'/php/webEditor/codeList/';
  $myFile = fopen($filePath.$fileName, &quot;w&quot;) or die(&quot;파일 열기 실패&quot;);
  fwrite($myFile, $code);
  fclose($myFile);
  header(&quot;Location:./codeList/&quot;.$fileName);
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 로그인한 사람만 사용할 수 있도록 세션을 체크한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 전달받은 코드를 변수 code에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. makeFileName() 함수는 사용할 수 있는 파일명을 반환하는 함수이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 생성한 파일명을 목록으로 생성하기 위한 배열이다. 이 배열의 값으로 앞으로 생성할 파일명과 비교하여 이미 존재하는 파일명인지를 구분한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 폴더 codeList를 연다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 폴더 codeList에 있는 파일들의 이름을 배열 existsFileList에 추가한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 변수 isEqualNameCheck는 파일명이 중복인지의 여부를 대입하는 변수이다. 중복된 파일명이 없으면 계속 값은 false를 유지하며, 중복된 파일명이 있는 경우 true를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8. while 반복문의 조건으로 true를 사용했다. 조건문에 true를 대입했으므로 while 반복문은 무한 실행된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9. 코드의 파일명을 mt_rand() 함수를 사용하여 랜덤으로 파일명을 짓도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10. 배열 existsFileList 에 있는 값과 비교하여 변수 fileName의 값과 동일한지 확인하며 동일하면 새로운 파일명을 찾아야 하므로 23라인에서 25라인의 if 조건문으로 인해 변수 isEqualNameCheck의 값에 true를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;11. 변수 isEqualNameCheck의 값이 false이면 변수 fileName의 값이 사용할 수 있는 파일명을 의미하므로 return문을 사용하여 파일명을 반환하여 함수 makeFIleName에서 빠져나온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;12. 함수 makeFileName이 반환한 값으로 변수 fileName에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;13. 파일을 생성할 폴더의 경로를 변수 filePathName에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;14. fopen() 함수를 사용해 변수 fileName에 대입된 파일명으로 파일을 생성하여 파일을 연다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;15. fwrite() 함수를 사용하여 form 태그에서 입력한 코드의 변수 code의 값을 파일에 쓴다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;16. 생성한 파일로 이동한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;17. [코드 197]을 실행하여 코드를 입력 후 실행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/webEditor/196_editorForm.php&amp;nbsp; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;687&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9D0VX/btrPQq92H1D/D8n8mIf9Og4pdVz8eI6wiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9D0VX/btrPQq92H1D/D8n8mIf9Og4pdVz8eI6wiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9D0VX/btrPQq92H1D/D8n8mIf9Og4pdVz8eI6wiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9D0VX%2FbtrPQq92H1D%2FD8n8mIf9Og4pdVz8eI6wiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;771&quot; height=&quot;687&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;687&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;코드 입력 후 [PLAY CODE] 버튼을 클릭하면 아래와 같이 결과를 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbO2HN/btrPQ4FnEwL/AfBKhSmxCsQlZyVrDyhuJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbO2HN/btrPQ4FnEwL/AfBKhSmxCsQlZyVrDyhuJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbO2HN/btrPQ4FnEwL/AfBKhSmxCsQlZyVrDyhuJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbO2HN%2FbtrPQ4FnEwL%2FAfBKhSmxCsQlZyVrDyhuJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;148&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;d이 프로그램은 실제 서버에 코드를 입력하는 기능을 갖고 있기 떄문에 학습 목적으로 사용하면 편리하지만 나쁜 목적으로 사용하면 시스템에 치명적인 결과를 초래하게 된다. 그러므로 이 프로그램을 실제 서버에 업로드하여 활용시에는 굉장히 신뢰를 할 수 있는 사용자에게 사용할 수 있도록 하거나 입력받은 코드에 악영향을 끼치는 것은 없는지 확인하는 과정이 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Program/PHP</category>
      <category>php</category>
      <category>웹이서입력한코드결과보기</category>
      <category>코드의실행결과보기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/669</guid>
      <comments>https://stonefree.tistory.com/669#entry669comment</comments>
      <pubDate>Sat, 29 Oct 2022 23:23:40 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 웹에서 입력한 코드 결과 보기 (1/2) - 코드 입력폼 만들기</title>
      <link>https://stonefree.tistory.com/668</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 웹에서 입력한 코드 결과 보기 (1/2) - 코드 입력폼 만들기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;웹페이지에서 입력한 코드를 실행하는 프로그램을 만들어보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그램의 흐름은 코드를 입력하는 폼을 생성한 후 입력한 코드를 파일로 만들어 실행하는 방식으로 구성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 프로젝트는 [php/webEditor] 폴더를 생성 후 진행하도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;textarea 태그를 사용하여 코드를 입력하는 폼을 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음의 코드를 [webEditor] 폴더에 생성하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 196_editorForm.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;웹코딩 에디터&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;h1&amp;gt;실행할 코드를 입력하세요&amp;lt;/h1&amp;gt;
  &amp;lt;form name=&quot;webEditor&quot; method=&quot;POST&quot; action=&quot;./197_playCode.php&quot;&amp;gt;
    &amp;lt;textarea name=&quot;code&quot; cols=&quot;100&quot; rows=&quot;30&quot;&amp;gt;&amp;lt;/textarea&amp;gt;
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;submit&quot; value=&quot;PLAY CODE&quot; /&amp;gt;
  &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 로그인한 사람만 사용할 수 있도록 세션을 체크한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 코드를 입력할 form 태그를 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 코드는 장문을 입력할 폼이 필요하므로 textarea 태그를 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/webEditor/196_editorForm.php&amp;nbsp; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;697&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cH7dG4/btrPQdpjMwa/VCtx5xNlJvhQpEctKSAauk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cH7dG4/btrPQdpjMwa/VCtx5xNlJvhQpEctKSAauk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cH7dG4/btrPQdpjMwa/VCtx5xNlJvhQpEctKSAauk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcH7dG4%2FbtrPQdpjMwa%2FVCtx5xNlJvhQpEctKSAauk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;697&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;697&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>웹에서입력한코드결과보기</category>
      <category>코드입력폼만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/668</guid>
      <comments>https://stonefree.tistory.com/668#entry668comment</comments>
      <pubDate>Sat, 29 Oct 2022 17:46:06 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 결과 데이터 차트 만들기 (4/4) - survey 테이블의 데이터를 차트로 보기</title>
      <link>https://stonefree.tistory.com/667</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 결과 데이터 차트 만들기 (4/4) - survey 테이블의 데이터를 차트로 보기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전 포스팅의 그림은 코드에 직접 데이터 값을 입력하여 출력된 값을 주여주고 있었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 AJAX를 사용하여 파일 [193_surveyResultJson.php] 이 반환하는 JSON 데이터로 차트를 출력하는 방법에 대해 알아보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞에서 생성한 survey 테이블의 JSON 데이터로 bar 차트를 생성하기 위해 AJAX를 사용하며 AJAX코드 안에서 차트의 데이터를 입력하는 방식으로 진행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 195-1_surveyResultBarChart.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';
?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;설문조사 데이터 차트로 보기&amp;lt;/title&amp;gt;
  &amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://www.gstatic.com/charts/loader.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
    google.charts.load('current', {'packages':['corechart','bar']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart(){

      var xhttp = new XMLHttpRequest();

      xhttp.onreadystatechange = function() {
        if(this.readyState == 4 &amp;amp;&amp;amp; this.status == 200){

          result = JSON.parse(this.responseText);
          console.log('result is ' + JSON.stringify(result));

          var data = google.visualization.arrayToDataTable([
            ['종류','명'],
            ['오프라인 서점',result.offlineStore],
            ['온라인 서점',result.onlineStore],
            ['웹사이트',result.website],
            ['지인을 통해서',result.friends],
            ['교육기관',result.academy],
            ['기억이 안남',result.noMemory],
            ['기타',result.etc]
          ]);

          var options = {
            title: '당신은 어떤 경로를 통해 책 정보얻나요?',
            chartArea: {width: '50%'},
            hAxis: {
              minValue: 0
            },
          };

          var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
          chart.draw(data, options);
        }
      };

      xhttp.open(&quot;POST&quot;, &quot;./193_surveyResultJson.php&quot;, true);
      xhttp.send();
    }
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div id=&quot;chart_div&quot; style=&quot;height:500px&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. AJAX 통신을 통하여 [193_surveyResultJson.php] 파일로부터 반환받은 데이터를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 차트에 표시할 데이터를 입력한다.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 차트의 옵션을 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 차트를 표시하는 태그이며, style 속성을 사용하여 세로길이를 500px로 조정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/gChart/195-1_surveyResultBarChart.php&amp;nbsp; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;655&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mDXhE/btrPRd9QIp6/Ne1TKNU202ghHm1KLy5LR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mDXhE/btrPRd9QIp6/Ne1TKNU202ghHm1KLy5LR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mDXhE/btrPRd9QIp6/Ne1TKNU202ghHm1KLy5LR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmDXhE%2FbtrPRd9QIp6%2FNe1TKNU202ghHm1KLy5LR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1450&quot; height=&quot;655&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;655&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그럼 이번에는 survey 테이블의 데이터를 Pie 차트로 표현해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 195-2_surveyResultPieChart.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1667031767621&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';
?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;설문조사 데이터 차트로 보기&amp;lt;/title&amp;gt;
  &amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://www.gstatic.com/charts/loader.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart(){

      var xhttp = new XMLHttpRequest();

      xhttp.onreadystatechange = function() {
        if(this.readyState == 4 &amp;amp;&amp;amp; this.status == 200){

          result = JSON.parse(this.responseText);
          console.log('result is ' + JSON.stringify(result));

          var data = google.visualization.arrayToDataTable([
            ['종류','명'],
            ['오프라인 서점',result.offlineStore],
            ['온라인 서점',result.onlineStore],
            ['웹사이트',result.website],
            ['지인을 통해서',result.friends],
            ['교육기관',result.academy],
            ['기억이 안남',result.noMemory],
            ['기타',result.etc]
          ]);

          var options = {
            title: '당신은 어떤 경로를 통해 책 정보얻나요?',
            chartArea: {width: '50%'},
            hAxis: {
              minValue: 0
            },
          };

          var chart = new google.visualization.PieChart(document.getElementById('piechart'));
          chart.draw(data, options);
        }
      };

      xhttp.open(&quot;POST&quot;, &quot;./193_surveyResultJson.php&quot;, true);
      xhttp.send();
    }
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div id=&quot;piechart&quot; style=&quot;height:500px&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위의 Bar 차트를 표시하는 [코드 195-1]과 다른점은 12라인의 배열값과, 44라인의 아이디명 그리고 body 내의 div의 id 속성의 값만 다르다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/gChart/195-2_surveyResultPieChart.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA5f0s/btrPTk1K9s4/HGfk2Mvbp5aGkn9P47itzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA5f0s/btrPTk1K9s4/HGfk2Mvbp5aGkn9P47itzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA5f0s/btrPTk1K9s4/HGfk2Mvbp5aGkn9P47itzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA5f0s%2FbtrPTk1K9s4%2FHGfk2Mvbp5aGkn9P47itzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1444&quot; height=&quot;600&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>데이터차트만들기</category>
      <category>테이블데이터차트로보기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/667</guid>
      <comments>https://stonefree.tistory.com/667#entry667comment</comments>
      <pubDate>Sat, 29 Oct 2022 17:33:20 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 결과 데이터 차트 만들기 (3/4) - 구글 차트</title>
      <link>https://stonefree.tistory.com/666</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 결과 데이터 차트 만들기 (3/4) - 구글 차트&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;구글에서 제공하는 차트 라이브러리를 사용하면 여러 데이터를 목적에 맞게 시각적으로 알기 쉽게 표현할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;구글차트의 사이트 URL은 &lt;a href=&quot;https://developers.google.com/chart/interactive/docs/gallery&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.google.com/chart/interactive/docs/gallery&lt;/a&gt; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;구글차트 사이트에 접속하면 제공하는 차트의 종류를 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;1221&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eE2IY8/btrPQq9M4um/Z5a1WudxX3Sdk7iYRRnoE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eE2IY8/btrPQq9M4um/Z5a1WudxX3Sdk7iYRRnoE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eE2IY8/btrPQq9M4um/Z5a1WudxX3Sdk7iYRRnoE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeE2IY8%2FbtrPQq9M4um%2FZ5a1WudxX3Sdk7iYRRnoE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1460&quot; height=&quot;1221&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;1221&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 포스팅에서 survey 테이블의 데이터를 표시할 차트는 Bar 차트와 Pie 차트이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Bar 차트의 기본 코드를 보면서 사용 방법을 확인해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 194_googleChart.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://www.gstatic.com/charts/loader.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
    google.charts.load('current', {'packages':['corechart','bar']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart(){
      var data = google.visualization.arrayToDataTable([
        ['종류','수'],
        ['오프라인 서점', 10],
        ['온라인 서점', 50],
      ]);

      var options = {
        title: '제목',
        chartArea: {width: '80%'},
        hAxis: {
          title: '명',
          minValue: 0
        },
        vAxis: {
          title: '경로'
        }
      };

      var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    }
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div id=&quot;chart_div&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 구글 차트의 라이브러리를 불러오는 코드이다. script 태그 내에서 자바스크립트 코드를 작성할 수 있으며, src 속성을 사용하여 자바스크립트 파일을 불러올 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 구글 차트의 데이터를 입력하기 위해 script 태그를 연다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 구글 차트는 다양한 차트를 제공한다. 그 중 어떠한 차트를 사용할지 명시한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 구글 차트 라이브러리 코드 사용 준비가 되면 실행할 함수명을 google.charts.setOnLoadCallback() 함수의 아규먼트로 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. google.charts.setOnLoadCallback() 함수 아규먼트로 사용할 함수를 생성한다. drawChart() 함수에서는 차트에 표시할 데이터와 옵션값을 지정하는 역할을 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 구글 차트에서 출력할 값의 필드명을 첫 번째 값으로 입력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째 값부터는 실제 출력될 데이터를 입력한다. 첫 번째 값은 레이블명을 입력하고 두 번째는 수치 데이터를 입력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 구글 차트의 제목, 사이즈 등의 옵션을 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8. google.visualization.BarChart 클래스의 생성자에 전달하는 값은 id 속성의 값이 chart_div인 태그를 의미하며 이는 차트를 표시하는 태그를 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9. 차트에서 사용될 데이터와 옵션값으로 차트를 그린다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10. body 태그 내에 차트를 표시할 태그를 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/gChart/194_googleChart.php&amp;nbsp; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1456&quot; data-origin-height=&quot;349&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdmhI4/btrPQII7QN2/LrJEXRfMPobQL6yFGJpwBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdmhI4/btrPQII7QN2/LrJEXRfMPobQL6yFGJpwBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdmhI4/btrPQII7QN2/LrJEXRfMPobQL6yFGJpwBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdmhI4%2FbtrPQII7QN2%2FLrJEXRfMPobQL6yFGJpwBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1456&quot; height=&quot;349&quot; data-origin-width=&quot;1456&quot; data-origin-height=&quot;349&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>구글차트</category>
      <category>데이터차트만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/666</guid>
      <comments>https://stonefree.tistory.com/666#entry666comment</comments>
      <pubDate>Sat, 29 Oct 2022 16:50:09 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 결과 데이터 차트 만들기 (2/4) - survey 테이블의 데이터를 JSON으로 생성하기</title>
      <link>https://stonefree.tistory.com/665</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 결과 데이터 차트 만들기 (2/4) - survey 테이블의 데이터를 JSON으로 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;구글에서 제공하는 차트 라이브러리는 웹브라우저에서 작동하는 자바스크립트 언어로 구성되어 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그러므로 서버와 클라이언트 갑의 통신이 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;서로 다른 언어 간에 데이터를 전달해야 하므로 survey 테이블의 데이터를 JSON 데이터로 생성하는 작업이 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 survey 테이블의 데이터를 JSON 데이터로 생성하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[코드 191]과 기능은 거의 흡사하며 출력하는 데이터를 json_encode() 함수를 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 193_surveyResultJson.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $sql = &quot;SELECT kind FROM survey&quot;;
  $result = $dbConnect-&amp;gt;query($sql);

  if($result){
    $surveyDataCount = $result-&amp;gt;num_rows;

    $offlineStore = 0;
    $onlineStore = 0;
    $website = 0;
    $friends = 0;
    $academy = 0;
    $noMemory = 0;
    $etc = 0;

    if($surveyDataCount &amp;gt; 0){
      for($i = 0; $i &amp;lt; $surveyDataCount; $i++){
        $surveyData = $result-&amp;gt;fetch_array(MYSQLI_ASSOC);
        
        switch($surveyData['kind']) {
          case 'offlineStore':
            $offlineStore++;
            break;
          case 'onlineStore':
            $onlineStore++;
            break;
          case 'website':
            $website++;
            break;
          case 'friends':
            $friends++;
            break;
          case 'academy':
            $academy++;
            break;
          case 'noMemory':
            $noMemory++;
            break;
          case 'etc':
            $etc++;
            break;
        }
      }

      echo json_encode(
        array(
          'result' =&amp;gt; 'ok',
          'offlineStore' =&amp;gt; $offlineStore,
          'onlineStore' =&amp;gt; $onlineStore,
          'website' =&amp;gt; $website,
          'friends' =&amp;gt; $friends,
          'academy' =&amp;gt; $academy,
          'noMemory' =&amp;gt; $noMemory,
          'etc' =&amp;gt; $etc,
        )
      );
    } else {
      echo json_encode(
        array(
          'result' =&amp;gt; 'noData'
        )
      );
    }
  } else {
    echo json_encode(
      array(
        'result' =&amp;gt; 'error'
      )
    );
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. survey 테이블에서 kind 필드의 데이터를 모두 불러오는 쿼리문을 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 쿼리문을 실행하고 레코드의 수를 변수 surveyDataCount에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 변수 offlineStore에는 survey 테이블의 kind 필드값이 offlineStore인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 변수 onlineStore에는 survey 테이블의 kind 필드값이 onlineStore인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 변수 website에는 survey 테이블의 kind 필드값이 website인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 변수 friends 에는 survey 테이블의 kind 필드값이 friends인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 변수 academy에는 survey 테이블의 kind 필드값이 academy인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8. 변수 noMembry에는 survey 테이블의 kind 필드값이 noMemory인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9. 변수 etc에는 survey&amp;nbsp; 테이블의 kind 팔드값이 etc인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10. survey 테이블의 레코드의 수만큼 반복문을 작동시킨다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;11. survey 테이블의 kind 필드값을 switch 문을 통하여 분류하여 각각의 변수에 1씩 더하여 더한값을 집계한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;12. 집계된 데이터를 json_encode() 함수를 사용하여 JSON으로 변환된 값을 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/gChart/193_surveyResultJson.php&amp;nbsp; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;147&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blE8IS/btrPPWHJKBz/xxhm6sOdG38l5fxKvWwv61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blE8IS/btrPPWHJKBz/xxhm6sOdG38l5fxKvWwv61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blE8IS/btrPPWHJKBz/xxhm6sOdG38l5fxKvWwv61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblE8IS%2FbtrPPWHJKBz%2Fxxhm6sOdG38l5fxKvWwv61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;826&quot; height=&quot;147&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;147&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;데이터의 값은 랜덤으로 입력한 데이터이므로 위의 결과이미지와 각자의 결과값들은 다를 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>데이터를JSON으로생성하기</category>
      <category>데이터차트만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/665</guid>
      <comments>https://stonefree.tistory.com/665#entry665comment</comments>
      <pubDate>Sat, 29 Oct 2022 07:03:35 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 결과 데이터 차트 만들기 (1/4) - survey 테이블에 임의의 데이터 입력하기</title>
      <link>https://stonefree.tistory.com/664</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 결과 데이터 차트 만들기 (1/4) - survey 테이블에 임의의 데이터 입력하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전 포스팅의 설문조사 결과를 보면 단순히 숫자로만 표시되어 효과적으로 알기 어렵다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그러므로 요즘은 이러한 데이터들을 차트로 표시하여 좀 더 눈에 보기 쉽게 표시하고 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;구글에서 제공하는 차트 라이브러리를 활용하여 데이터를 시각적으로 표현하여 더 알아보기 쉽게 만드는 방법에 대해 알아보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번 프로젝트는 [gChart] 폴더를 만들고 진행하도록 한다. [php/gChart] 폴더를 생성하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;많은 데이터가 없으므로 임의로 약 100개의 데이터를 survey 테이블에 입력하도록 하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 랜덤으로 survey 테이블에 데이터를 입력하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[gChart] 폴더에 다음의 예제를 저장하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 192_inputRandomData.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $kindList = array();
  $kindList = ['offlineStore','onlineStore','website','friends','academy','noMemory','etc'];

  $memberID = 6;

  for($i = 1; $i &amp;lt;= 100; $i++){
    $memberID++;
    $kind = $kindList[rand(0,6)];
    $time = time();
    $sql = &quot;INSERT INTO survey (memberID, kind, regDate) VALUES ({$memberID}, '{$kind}', {$time})&quot;;
    $dbConnect-&amp;gt;query($sql);
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. survey 테이블의 kind 필드에 들어가는 값을 배열에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. survey 테이블의 memberID 필드에 들아갈 값을 변수 memberID 에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. survey 테이블에 데이터 입력을 100회 시도하기 위한 for문을 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. survey 테이블의 memberID 플드에 서로 다른 값이 들어가도록 증감 연사자를 사용하여 값을 1씩 추가한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. survey 테이블의 kind 필드에 들어갈 값을 kindList 배열에서 랜덤으로 정하도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. survey 테이블의 regDate 필드에 값을 입력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. survey 테이블에 데이터를 입력하는 쿼리문을 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/gChart/192_inputRandomData.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 결과는 터미널이나 phpMyAdmin에 접속하여 생성된 테이블의 목록을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;954&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNDxoP/btrPPOQEgAv/O8kyiEGxV8J9uYKYvp0iTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNDxoP/btrPPOQEgAv/O8kyiEGxV8J9uYKYvp0iTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNDxoP/btrPPOQEgAv/O8kyiEGxV8J9uYKYvp0iTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNDxoP%2FbtrPPOQEgAv%2FO8kyiEGxV8J9uYKYvp0iTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;954&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;954&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>데이터차트만들기</category>
      <category>임의의데이터입력하기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/664</guid>
      <comments>https://stonefree.tistory.com/664#entry664comment</comments>
      <pubDate>Sat, 29 Oct 2022 06:43:01 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 프로그램 만들기 (4/4) - 설문조사 결과 확인하기</title>
      <link>https://stonefree.tistory.com/663</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 프로그램 만들기 (4/4) - 설문조사 결과 확인하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설문조사 결과를 확인하는 페이지를 만들어보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Survey 테이블의 모든 레코드를 불러온 후 종류별로 합계를 구하여 표시하는 방식으로 구현하도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 191_surveyView.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $sql = &quot;SELECT kind FROM survey&quot;;
  $result = $dbConnect-&amp;gt;query($sql);

  if($result) {
    $surveyDataCount = $result-&amp;gt;num_rows;

    $offlineStore = 0;
    $onlineStore = 0;
    $website = 0;
    $friends = 0;
    $academy = 0;
    $noMemory = 0;
    $etc = 0;

    if($surveyDataCount &amp;gt; 0) {
      for($i = 0; $i &amp;lt; $surveyDataCount; $i++) {
        $surveyData = $result-&amp;gt;fetch_array(MYSQLI_ASSOC);

        switch($surveyData['kind']) {
          case 'offlineStore':
            $offlineStore++;
            break;
          case 'onlineStore':
            $onlineStore++;
            break;
          case 'website':
            $website++;
            break;
          case 'friends':
            $friends++;
            break;
          case 'academy':
            $academy++;
            break;
          case 'noMemory':
            $noMemory++;
            break;
          case 'etc':
            $etc++;
            break;
        }
      }
    } else {
      echo &quot;데이터가 없습니다.&quot;;
      exit;
    }
  } else {
    echo &quot;에러 발생 - 관리자에게 문의&quot;;
    exit;
  }
?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;h1&amp;gt;설문조사 프로그램 - 결과&amp;lt;/h1&amp;gt;  
  &amp;lt;h2&amp;gt;당신은 어떤 경로를 통해 책 정보얻나요?&amp;lt;/h2&amp;gt;
  &amp;lt;h3&amp;gt;총 참여 인원 : &amp;lt;?=$surveyDataCount?&amp;gt;&amp;lt;/h3&amp;gt;
  &amp;lt;hr&amp;gt;
    오프라인 서점 - &amp;lt;?=$offlineStore?&amp;gt;명&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    온라인 서점 - &amp;lt;?=$onlineStore?&amp;gt;명&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    웹사이트 - &amp;lt;?=$website?&amp;gt;명&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    지인을 통해서 - &amp;lt;?=$friends?&amp;gt;명&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    교육기관 - &amp;lt;?=$academy?&amp;gt;명&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    기억이 안남 - &amp;lt;?=$noMemory?&amp;gt;명&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    기타 - &amp;lt;?=$etc?&amp;gt;명
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. survey 테이블에서 kind 필드의 데이터를 모두 불러오는 쿼리문을 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 쿼리문을 실행하고 레코드의 수를 변수 surveyDataCount에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 변수 offlineStore 에는 survey 테이블의 kind 필드값이 offlineStore인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 변수 oflineStore 에는 survey 테이블의 kind 필드값이 onlineStore인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 변수 website에는 survey 테이블의 kind 필드값이 website인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 변수 friends에는 survey 테이블의 kind 필드값이 friends인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 변수 academy에는 survey 테이블의 kind 필드값이 academy인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8. 변수 noMemory에는 survey 테이블의 kind 필드값이 noMemory인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;9. 변수 etc에는 survey 테이블의 kind 필드값이 etc인 레코드의 합계를 대입한다.&lt;/span&gt;&lt;span style=&quot;&quot;&gt;10. survey 테이블의 레코드의 수 만큼 반복문을 작동시킨다.&lt;/span&gt;&lt;span style=&quot;&quot;&gt;11. survey 테이블의 kind 필드값을 switch 문을 통하여 분류하여 각각의 변수에 1씩 더하여 더한값을 집계한다.&lt;/span&gt;&lt;span style=&quot;&quot;&gt;12. 집계한 데이터를 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;실행 URL은 http://localhost/php/survey/191_surveyView.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;503&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bj6oD3/btrPQftrlWP/3clLf7tl3b9IUmrK0rRt3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bj6oD3/btrPQftrlWP/3clLf7tl3b9IUmrK0rRt3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bj6oD3/btrPQftrlWP/3clLf7tl3b9IUmrK0rRt3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj6oD3%2FbtrPQftrlWP%2F3clLf7tl3b9IUmrK0rRt3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;503&quot; height=&quot;582&quot; data-origin-width=&quot;503&quot; data-origin-height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;보통 위와같은 수치 데이터는 그래프를 활용하여 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음 포스팅에서는 survey 테이블의 데이터를 구글 차트를 사용하여 차트로 표시하는 방법에 대해 알아보겠다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>설문조사결과확인하기</category>
      <category>설문조사프로그램만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/663</guid>
      <comments>https://stonefree.tistory.com/663#entry663comment</comments>
      <pubDate>Sat, 29 Oct 2022 06:25:00 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 프로그램 만들기 (3/4) - 설문조사 데이터 테이블에 저장하기</title>
      <link>https://stonefree.tistory.com/662</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 프로그램 만들기 (3/4) - 설문조사 데이터 테이블에 저장하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설문조사 프로그램 페이지에서 입력한 데이터를 survey 테이블에 저장한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설문조사는 한 계정당 1회만 할 수 있게 만들며 데이터 입력 전에 설문조사 참여 유무를 확인 후 테이블에 데이터를 입력하는 과정으로 진행된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 survey 테이블에 데이터를 입력하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 190_surveySave.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $surveyKind = $_POST['surveyKind'];

  // 값 유효성 검사
  switch($surveyKind) {
    case 'offlineStore':
    case 'onlineStore':
    case 'website':
    case 'friends':
    case 'academy':
    case 'noMemory':
    case 'etc':
      break;
    default :
      echo &quot;잘못된 값이 입력되었습니다.&quot;;
      exit;
      break;
  }

  $memberID = $_SESSION['memberID'];

  // 이미 설문조사를 했는지 확인
  $sql = &quot;SELECT surveyID FROM survey WHERE memberID = {$memberID}&quot;;
  $result = $dbConnect-&amp;gt;query($sql);

  if($result) {
    $dataCount = $result-&amp;gt;num_rows;
    if($dataCount == 0) {
      // 설문조사 가능
      $regDate = time();
      $sql = &quot;INSERT INTO survey (memberID, kind, regDate) &quot;;
      $sql .= &quot;VALUES ('{$memberID}', '{$surveyKind}', '{$regDate}')&quot;;
      $result = $dbConnect-&amp;gt;query($sql);

      if($result) {
        echo &quot;설문조사 참여 완료&amp;lt;br&amp;gt;&quot;;
        echo &quot;&amp;lt;a href='./191_surveyView.php'&amp;gt;설문조사 결과로 이동&amp;lt;/a&amp;gt;&quot;;
        exit;
      } else {
        echo &quot;저장 실패 - 관리자에게 문의&quot;;
        exit;
      }
    } else {
      // 설문조사 불가
      echo &quot;이미 참여하셨습니다.&amp;lt;br&amp;gt;&quot;;
      echo &quot;&amp;lt;a href='./191_surveyView.php'&amp;gt;설문조사 결과로 이동&amp;lt;/a&amp;gt;&quot;;
      exit;
    }
  } else {
    echo &quot;저장실패 - 관리자에게 문의&quot;;
    exit;
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 설문조사 선택 페이지에서 전달받은 값을 변수 surveyKind에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 변수 surveyKind가 올바른 값인지 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 이미 설문조사에 참여한 회원인지 확인하기 위해 회원번호와 같은 레코드가 있는지 확인하기 위한 쿼리문을 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 이미 설문조사에 참여했는지에 대해 확인하기 위해 레코드의 개수를 변수 dataCount에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 레코드의 수가 0이면 설문조사에 참여하지 않았음을 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 설문조사 참여 시간을 변수 regDate에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. survey 테이블에 데이터를 입력하는 쿼리문을 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;sruvey 테이블에 데이터를 입력하기 위해 설문조사 페이지를 실행하여 데이터를 선택 후 [제출] 버튼을 누른다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/survey/189_surveyForm.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;187&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C7J8M/btrPIJPXsHG/k0hK9Av9orxZsXyVtxroC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C7J8M/btrPIJPXsHG/k0hK9Av9orxZsXyVtxroC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C7J8M/btrPIJPXsHG/k0hK9Av9orxZsXyVtxroC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC7J8M%2FbtrPIJPXsHG%2Fk0hK9Av9orxZsXyVtxroC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;187&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;187&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;터미널이나 phpMyAdmin 에 접속하여 survey 테이블의 레코드를 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLKW4E/btrPJMSsqG6/UGx8kgWTvPBB3l1d3l2NWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLKW4E/btrPJMSsqG6/UGx8kgWTvPBB3l1d3l2NWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLKW4E/btrPJMSsqG6/UGx8kgWTvPBB3l1d3l2NWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLKW4E%2FbtrPJMSsqG6%2FUGx8kgWTvPBB3l1d3l2NWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;283&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>데이터테이블에저장하기</category>
      <category>설문조사프로그램만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/662</guid>
      <comments>https://stonefree.tistory.com/662#entry662comment</comments>
      <pubDate>Fri, 28 Oct 2022 00:45:40 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 프로그램 만들기 (2/4) - 설문조사 선택폼 생성하기</title>
      <link>https://stonefree.tistory.com/661</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 프로그램 만들기 (2/4) - 설문조사 선택폼 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설문조사 데이터를 입력하는 페이지를 생성해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;보기에서는 한개만 선택할 수 있도록 라디오 버튼을 사용하도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 설문조사의 보기 선택폼의 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 189_surveyForm.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';
?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;설문조사 프로그램&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;h1&amp;gt;설문조사 프로그램&amp;lt;/h1&amp;gt;
  &amp;lt;h2&amp;gt;당신은 어떤 경로를 통해 책 정보얻나요?&amp;lt;/h2&amp;gt;
  &amp;lt;form name=&quot;survey&quot; method=&quot;POST&quot; action=&quot;./190_surveySave.php&quot;&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;offlineStore&quot; required /&amp;gt;
    오프라인 서점
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;onlineStore&quot; /&amp;gt;
    온라인 서점
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;website&quot; /&amp;gt;
    웹사이트
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;friends&quot; /&amp;gt;
    지인을 통해서
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;academy&quot; /&amp;gt;
    교육기관
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;noMemory&quot; /&amp;gt;
    기억이 안남
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;radio&quot; name=&quot;surveyKind&quot; value=&quot;etc&quot; /&amp;gt;
    기타
    &amp;lt;br&amp;gt;
    &amp;lt;input type=&quot;submit&quot; value=&quot;제출&quot; /&amp;gt;
  &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 비로그인 상태에서의 접근을 차단한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 설문조사의 보기를 입력하기 위한 form 태그를 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 설문조사 보기의 입력폼이다. type 속성의 값으로 radio를 사용할 때 name 속성의 값이 같다면 하나의 태그에만 required 속성을 사용해도 전체적으로 required가 적용된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. form 태그의 데이터를 전송하는 버튼을 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/survey/189_surveyForm.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mDk0q/btrPIEVozOu/TcRi7hdeuChhkoXHmk2zBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mDk0q/btrPIEVozOu/TcRi7hdeuChhkoXHmk2zBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mDk0q/btrPIEVozOu/TcRi7hdeuChhkoXHmk2zBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmDk0q%2FbtrPIEVozOu%2FTcRi7hdeuChhkoXHmk2zBk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;420&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>선택폼생성하기</category>
      <category>설문조사프로그램만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/661</guid>
      <comments>https://stonefree.tistory.com/661#entry661comment</comments>
      <pubDate>Fri, 28 Oct 2022 00:22:31 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 설문조사 프로그램 만들기 (1/4) - survey 테이블 생성하기</title>
      <link>https://stonefree.tistory.com/660</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 설문조사 프로그램 만들기 (1/4) - sruvey 테이블 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;간단한 설문조사 프로그램을 만들어보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 프로젝트는 설문조사의 여러 항목을 선택후 데이터베이스에 저장하고 결과를 확인하는 방식으로 진행하도록 하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[설문조사 프로그램 만들기]는 [php/survey] 폴더를 생성후 이곳에 파일을 저장하도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설문조사 데이터가 저장될 테이블을 생성하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;테이블의 이름은 survey이며 survey 테이블 생성 쿼리문은 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1666882287700&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE TABLE survey (
surveyID int(10) unsigned NOT NULL AUTO_INCREMENT,
memberID int(10) unsigned DEFAULT NULL,
kind enum('offlineStore', 'onlineStore', 'website', 'friends', 'academy', 'noMemory', 'etc'),
regDate int(10) unsigned DEFAULT NULL,
PRIMARY KEY (surveyID)
)CHARSET=utf8;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;kind&amp;nbsp; 필드에는 정해진 값만 입력될 수 있도록 enum을 사용하여 값을 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 survey 테이블을 생성하는 예제이다. [survey]폴더에 저장하도록 하자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 188_createSurvey.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $sql = &quot;CREATE TABLE survey(&quot;;
  $sql .= &quot;surveyID int(10) unsigned NOT NULL AUTO_INCREMENT, &quot;;
  $sql .= &quot;memberID int(10) unsigned DEFAULT NULL, &quot;;
  $sql .= &quot;kind enum('offlineStore', 'onlineStore', 'website', 'friends', 'academy', 'noMemory', 'etc'), &quot;;
  $sql .= &quot;regDate int(10) unsigned DEFAULT NULL, &quot;;
  $sql .= &quot;PRIMARY KEY (surveyID)) CHARSET=utf8&quot;;

  $result = $dbConnect-&amp;gt;query($sql);

  if($result) {
    echo &quot;테이블 생성 완료&quot;;
  } else {
    echo &quot;테이블 생성 실패&quot;;
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;sruvey 테이블을 생성하는 쿼리문을 실행해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/survey/188_createSurvey.php&amp;nbsp; 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lAQGL/btrPIJJapKv/lB0WmJZke1LVNI0hOTf13K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lAQGL/btrPIJJapKv/lB0WmJZke1LVNI0hOTf13K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lAQGL/btrPIJJapKv/lB0WmJZke1LVNI0hOTf13K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlAQGL%2FbtrPIJJapKv%2FlB0WmJZke1LVNI0hOTf13K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;182&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;182&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;터미널이나 phpMyAdmin에 접속하여 생성된 테이블의 목록을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9cc1i/btrPIRUqd6b/CDSa9A63dGAh5XOUHFpxq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9cc1i/btrPIRUqd6b/CDSa9A63dGAh5XOUHFpxq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9cc1i/btrPIRUqd6b/CDSa9A63dGAh5XOUHFpxq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9cc1i%2FbtrPIRUqd6b%2FCDSa9A63dGAh5XOUHFpxq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;342&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>설문조사프로그램만들기</category>
      <category>테이블생성하기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/660</guid>
      <comments>https://stonefree.tistory.com/660#entry660comment</comments>
      <pubDate>Fri, 28 Oct 2022 00:03:00 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 게시판 만들기 (10/10) - 검색 결과 확인하기</title>
      <link>https://stonefree.tistory.com/659</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 게시판 만들기 (10/10) - 검색 결과 확인하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞에서 생성한 검색폼에서 데이터를 전달받아 검색 결과를 출력하는 기능을 구현해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;검색폼의 select 태그에 있는 옵션([제목], [내용], [제목과내용], [제목 또는 내용])에 따라 쿼리문의 조건문이 다르게 바뀐다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;옵션에 따른 조건문의 변화&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;옵션명&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;옵션값&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;조건문&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;title&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;title = 검색어&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;내용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;content&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;content = 검색어&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제목과내용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;tandc&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;title = 검색어 AND content = 검색어&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제목 또는 내용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;torc&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;title = 검색어 OR content = 검색어&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 검색 결과를 출력하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 187_searchResult.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $searchKeyword = $dbConnect-&amp;gt;real_escape_string($_POST['searchKeyword']);
  $searchOption = $dbConnect-&amp;gt;real_escape_string($_POST['option']);

  if($searchKeyword == '' || $searchKeyword == null) {
    echo &quot;검색어가 없습니다.&quot;;
    exit;
  }

  switch($searchOption) {
    case 'title':
    case 'content':
    case 'tandc':
    case 'torc':
      break;
    default :
      echo &quot;검색 옵션이 없습니다.&quot;;
      exit;
      break;
  }

  $sql = &quot;SELECT b.boardID, b.title, m.nickName, b.regDate FROM board b JOIN member m ON (b.memberID = m.memberID) &quot;;
  
  switch($searchOption) {
    case 'title':
      $sql .=&quot;WHERE b.title LIKE '%{$searchKeyword}%'&quot;;
      break;
    case 'content':
      $sql .=&quot;WHERE b.content LIKE '%{$searchKeyword}%'&quot;;
      break;
    case 'tandc':
      $sql .=&quot;WHERE b.title LIKE '%{$searchKeyword}%' AND b.content LIKE '%{$searchKeyword}%'&quot;;
      break;
    case 'torc':
      $sql .=&quot;WHERE b.title LIKE '%{$searchKeyword}%' OR b.content LIKE '%{$searchKeyword}%'&quot;;
      break;
  }

  $result = $dbConnect-&amp;gt;query($sql);
  if($result) {
    $dataCount = $result-&amp;gt;num_rows;
  } else {
    echo &quot;오류발생 - 관리자 문의&quot;;
    exit;
  }
?&amp;gt;

&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;검색 결과&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;a href=&quot;./180_writeForm.php&quot;&amp;gt;글 작성하기&amp;lt;/a&amp;gt;
  &amp;lt;a href=&quot;/php/joinLogin/signIn/177_signOut.php&quot;&amp;gt;로그아웃&amp;lt;/a&amp;gt;
  &amp;lt;table&amp;gt;
    &amp;lt;thead&amp;gt;
      &amp;lt;th&amp;gt;번호&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;제목&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;작성자&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;게시일&amp;lt;/th&amp;gt;
    &amp;lt;/thead&amp;gt;
    &amp;lt;tbody&amp;gt;
      &amp;lt;?php
        if($dataCount &amp;gt; 0) {
          for($i = 0; $i &amp;lt; $dataCount; $i++) {
            $memberInfo = $result-&amp;gt;fetch_array(MYSQLI_ASSOC);
            echo &quot;&amp;lt;tr&amp;gt;&quot;;
            echo &quot;&amp;lt;td&amp;gt;&quot;.$memberInfo['boardID'].&quot;&amp;lt;/td&amp;gt;&quot;;
            echo &quot;&amp;lt;td&amp;gt;&amp;lt;ahref='./185_view.php?boardID={$memberInfo['boardID']}'&amp;gt;{$memberInfo['title']}&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&quot;;
            echo &quot;&amp;lt;td&amp;gt;&quot;.$memberInfo['nickName'].&quot;&amp;lt;/td&amp;gt;&quot;;
            echo &quot;&amp;lt;td&amp;gt;&quot;.date('Y-m-d H:i:s', $memberInfo['regDate']).&quot;&amp;lt;/td&amp;gt;&quot;;
            echo &quot;&amp;lt;/tr&amp;gt;&quot;;
          }
        } else {
          echo &quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan='4'&amp;gt;{$searchKeyword}를 포함하는 게시글이 없습니다.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;;
        }
      ?&amp;gt;
    &amp;lt;/tbody&amp;gt;
  &amp;lt;/table&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 검색폼에서 전달받은 데이터를 변수에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 검색어의 공백 여부를 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 검색 옵션이 올바른 값인지 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 게시물을 불러오는 쿼리문이며 WHERE문은 검색 옵션값에 따라 별도록 만들어준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. table 태그에 검색된 게시물을 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 조건에 맞는 게시물이 없는 경우의 출력문을 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/board/183_list.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 검색어로 [24번째]를 입력했으며 옵션은 [내용]을 선택한 그림이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFNas0/btrPFb5oVIa/SkK0eHz4x41s1iDktfK2PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFNas0/btrPFb5oVIa/SkK0eHz4x41s1iDktfK2PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFNas0/btrPFb5oVIa/SkK0eHz4x41s1iDktfK2PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFNas0%2FbtrPFb5oVIa%2FSkK0eHz4x41s1iDktfK2PK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;218&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1개의 검색결과를 표시해주고 있는것을 확인 할 수있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>검색결과확인하기</category>
      <category>게시판만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/659</guid>
      <comments>https://stonefree.tistory.com/659#entry659comment</comments>
      <pubDate>Thu, 27 Oct 2022 02:37:45 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 게시판 만들기 (9/10) - 검색폼 생성하기</title>
      <link>https://stonefree.tistory.com/658</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 게시판 만들기 (9/10) - 검색폼 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;특정 단어가 포함된 게시물을 검색하는 기능을 구현해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;생성할 검색폼은 검색어 입력폼과 옵션을 선택하는 폼으로 구성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;옵션에는 제목, 내용, 제목과 내용, 제목 또는 내용으로 구성되며 [제목]을 선택하는 경우 제목에서만 특정 단어가 포함되어 있는지 확인하며, [내용] 도 동일하다. [제목과 내용] 옵션은 제목에도 특정 단어가 포함되고 내용에도 특정 단어가 포함되는 게시물을 불러온다. [제목 또는 내용] 옵션은 제목과 내용 어느 한 부분이라도 특정 단어가 포함되어 있으면 해당 게시물을 불러오게 구현한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 검색폼을 생성하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 예제는 [코드 183]에서 include 하는 파일이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 186_searchForm.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;form name=&quot;search&quot; method=&quot;POST&quot; action=&quot;./187_searchResult.php&quot;&amp;gt;
  &amp;lt;input type=&quot;text&quot; name=&quot;searchKeyword&quot; placeholder=&quot;검색어 입력&quot; required /&amp;gt;
  &amp;lt;select name=&quot;option&quot; required&amp;gt;
    &amp;lt;option value=&quot;title&quot;&amp;gt;제목&amp;lt;/option&amp;gt;
    &amp;lt;option value=&quot;content&quot;&amp;gt;내용&amp;lt;/option&amp;gt;
    &amp;lt;option value=&quot;tandc&quot;&amp;gt;제목과내용&amp;lt;/option&amp;gt;
    &amp;lt;option value=&quot;torc&quot;&amp;gt;제목 또는 내용&amp;lt;/option&amp;gt;
  &amp;lt;/select&amp;gt;
  &amp;lt;input type=&quot;submit&quot; value=&quot;검색&quot; /&amp;gt;
&amp;lt;/form&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 예제도 게시글 목록 페이지에서 include하므로 브라우저에서 게시글 목록 페이지를 호출한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/board/183_list.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I839M/btrPEpb7Xjf/3kwsaCwbLEr2dvgXGbV3cK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I839M/btrPEpb7Xjf/3kwsaCwbLEr2dvgXGbV3cK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I839M/btrPEpb7Xjf/3kwsaCwbLEr2dvgXGbV3cK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI839M%2FbtrPEpb7Xjf%2F3kwsaCwbLEr2dvgXGbV3cK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;478&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 목록 페이지에서 include하는 파일들이 만들어졌으므로 이전과 같은 오류메시지는 뜨지 않는것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>검색폼생성하기</category>
      <category>게시판만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/658</guid>
      <comments>https://stonefree.tistory.com/658#entry658comment</comments>
      <pubDate>Thu, 27 Oct 2022 02:09:56 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 게시판 만들기 (8/10) - 게시물 내용 보기</title>
      <link>https://stonefree.tistory.com/657</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 게시판 만들기 (8/10) - 게시물 내용 보기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞에서 생성한 [183_list.php]에서 게세물의 제목을 클릭하면 내용을 볼 수 있는 페이지를 생성해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;URL에 GET 방식으로 함꼐 전달된 boardID의 값을 이용하여 해당 게시물의 내용을 불러오는 방식으로 구현한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 게시물의 내용을 표시하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 195_view.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  if(isset($_GET['boardID']) &amp;amp;&amp;amp; (int) $_GET['boardID'] &amp;gt; 0) {
    $boardID = $_GET['boardID'];
    $sql = &quot;SELECT b.title, b.content, m.nickName, b.regDate FROM board b JOIN member m ON (b.memberID = m.memberID) &quot;;
    $sql .= &quot;WHERE b.boardID = {$boardID}&quot;;
    $result = $dbConnect-&amp;gt;query($sql);

    if($result) {
      $contentInfo = $result-&amp;gt;fetch_array(MYSQLI_ASSOC);
      echo &quot;제목 : &quot;.$contentInfo['title'].&quot;&amp;lt;br&amp;gt;&quot;;
      echo &quot;작성자 : &quot;.$contentInfo['nickName'].&quot;&amp;lt;br&amp;gt;&quot;;
      $regDate = date('Y-m-d h:i:s');
      echo &quot;게시일 : {$regDate} &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&quot;;
      echo &quot;내용 &amp;lt;br&amp;gt;&quot;;
      echo $contentInfo['content'].&quot;&amp;lt;br&amp;gt;&quot;;
      echo &quot;&amp;lt;a href='/php/board/183_list.php'&amp;gt;목록으로 이동&amp;lt;/a&amp;gt;&quot;;
    } else {
      echo &quot;잘못된 접근 입니다.&quot;;
      exit;
    }
  } else {
    echo &quot;잘못된 접근 입니다.&quot;;
    exit;
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. $_GET['board']가 존재하고 0을 초과하는지 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. $_GET['board']의 값을 변수 boardID에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 게시물의 제목과 내용 게시일 그리고 작성자 정보를 가져오는 쿼리문을 만든다.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 테이블에서 불러온 데이터를 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/board/183_list.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;게시물 목록 페이지에서 제목을 클릭하여 [코드 185]의 결과를 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSy0IY/btrPGPUUHGt/QcRYRgNq8bOn6s9jm21rG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSy0IY/btrPGPUUHGt/QcRYRgNq8bOn6s9jm21rG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSy0IY/btrPGPUUHGt/QcRYRgNq8bOn6s9jm21rG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSy0IY%2FbtrPGPUUHGt%2FQcRYRgNq8bOn6s9jm21rG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;269&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>게시물보기페이지</category>
      <category>게시판만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/657</guid>
      <comments>https://stonefree.tistory.com/657#entry657comment</comments>
      <pubDate>Thu, 27 Oct 2022 01:55:17 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 게시판 만들기 (7/10) - 다음 페이지로 이동 링크(페이징) 생성하기</title>
      <link>https://stonefree.tistory.com/656</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 게시판 만들기 (7/10) - 다음 페이지로 이동 링크(페이징) 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞에서생성한 게시물 목록의 쪽수를 출력하는 [184_nextPageLink.php] 파일을 만들어보자.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled-2.jpg&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;81&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SKrC4/btrPAqgTX4B/bskQzc9CQU4fzIHQKxdIkK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SKrC4/btrPAqgTX4B/bskQzc9CQU4fzIHQKxdIkK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SKrC4/btrPAqgTX4B/bskQzc9CQU4fzIHQKxdIkK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSKrC4%2FbtrPAqgTX4B%2FbskQzc9CQU4fzIHQKxdIkK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;671&quot; height=&quot;81&quot; data-filename=&quot;Untitled-2.jpg&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;81&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;게시물의 페이지 기능은 위와 같이 구성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[처음] 링크는 첫페이지로 이동하는 링크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[이전] 링크는 현재 페이지의 이전 페이지로 이동하는 링크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[페이지수] 링크는 현재 페이지를 기준으로 앞페이지 5개를 표시하고 뒷 페이지 5개를 표시한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[다음] 링크는 현재 페이지의 다음 페이지로 이동하는 링크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[끝] 링크는 가장 마지막 페이지로 이동하는 링크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전 페이지가 없는 경우에는 [이전] 링크를 표시하지 않으며 다음 페이지가 없는 경우 [다음] 링크를 표시하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[처음] 링크와 [끝] 링크는 항상 표시하게 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 페이징 기능의 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 184_nextPageLink.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  //전체 레코드 수 구하기
  $sql = &quot;SELECT count(boardID) FROM board&quot;;
  $result = $dbConnect-&amp;gt;query($sql);

  $boardTotalCount = $result-&amp;gt;fetch_array(MYSQLI_ASSOC);
  $boardTotalCount = $boardTotalCount['count(boardID)'];

  //총 페이지 수
  $totalPage = ceil($boardTotalCount / $numView);

  //처음 페이지 이동 링크
  echo &quot;&amp;lt;a href='./183_list.php?page=1'&amp;gt;처음&amp;lt;/a&amp;gt;&amp;amp;nbsp;&quot;;

  //이전 페이지 이동 링크
  if($page != 1) {
    $previousPage = $page - 1;
    echo &quot;&amp;lt;a href='./183_list.php?page={$previousPage}'&amp;gt;이전&amp;lt;/a&amp;gt;&quot;;
  }

  //현재 페이지의 앞 뒤 페이지 수 표시
  $pageTerm = 5;

  //처음 표시할 페이지를 현재 페이지를 기준으로 5개 이전까지만 표시
  $startPage = $page - $pageTerm;
  //음수일 경우 처리
  if($startPage &amp;lt; 1) {
    $startPage = 1;
  }

  //처음 표시할 페이지를 현재 페이지를 기준으로 5개 이전까지만 표시
  $lastPage = $page + $pageTerm;

  //마지막 페이지의 수보다 클 경우 처리
  if($lastPage &amp;gt;= $totalPage) {
    $lastPage = $totalPage;
  }

  for($i = $startPage; $i &amp;lt;= $lastPage; $i++) {
    $nowPageColor = 'unset';
    if($i == $page) {
      $nowPageColor = 'hotpink';
    }
    echo &quot;&amp;amp;nbsp&amp;lt;a href='./183_list.php?page={$i}'&quot;;
    echo &quot;style='color:{$nowPageColor}'&amp;gt;{$i}&amp;lt;/a&amp;gt;&amp;amp;nbsp&quot;;
  }

  //다음 페이지 이동 링크
  if($page != $totalPage) {
    $nextPage = $page + 1;
    echo &quot;&amp;lt;a href='./183_list.php?page={$nextPage}'&amp;gt;다음&amp;lt;/a&amp;gt;&quot;;
  }

  //마지막 페이지 이동 링크
  echo &quot;&amp;amp;nbsp;&amp;lt;a href='./183_list.php?page={$totalPage}'&amp;gt;끝&amp;lt;/a&amp;gt;&quot;;
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. board 테이블의 레코드 수를 불러오는 쿼리문이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 쿼리문을 실행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 쿼리문의 데이터를 변수 boardTotalCount에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 변수 boardTotalCount의 레코드 수 정보를 변수 boardTotalCount에 다시 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 총 페이지의 수를 구한다. 변수 numView는 [183_list.php]에 선언되어 있다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;ceil() 함수는 올림을 하는 함수이며, 변수 numView의 값인 10으로 페이지를 구성할 때 남는 게시물을 표시하기 위해 반올림이나, 버림 처리를 하지 않고 올림 처리를 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 처음 페이지로 이동하는 링크이다. $_GET 방식을 사용하며 page의 값을 1로 적용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 처음 페이지인 1페이지에서는 이전 페이지로 이동할 수 없으므로 1페이지인 경우 이전 링크를 표시하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8. [이전] 링크를 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9. 현재 페이지를 기준으로 앞 뒤로 5개의 페이지까지 표시한다. 모든 페이지를 표시하면 가로로 많은 양의 페이지가 표시되는 현상을 방지하기 위함이다. 예를 들어, 현재 페이지가 8페이지이면 페이지를 처음 시작하는 수는 3이된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10. 현재 페이지를 기준으로 처음 출력할 페이지의 수를 구한다. 현재 페이지에서 변수 pageTerm의 값을 뺸 값을 처음 페이지로 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;11. 변수 startPage의 값이 음수일 경우에는 변수 startPage에 1을 대입하여 1페이지부터 표시한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;12. 현재 페이지를 기준으로 이후 표시할 페이지를 구한다. 현재 페이지에서 변수 pageTerm의 값을 더하여 표시할 페이지를 구한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;13. 이후 표시할 페이지가 총 페이지의 수를 넘을 경우 마지막으로 표시할 페이지의 수를 총 페이지의 수로 변경한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;14. 표시할 페이지 링크에서 처음 시작할 페이지와 마지막 페이지를 구했으므로 이 값으로 for 반복문을 이용하여 페이지 이동 링크를 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;15. 페이지 링크 중에서 현재 페이지는 다른 색을 표시하기 위해 변수 nowPageColor를 생성하고 기본값으로unset을 대입한다. unset은 CSS의 color 속성의 값으로 사용되며 값을 정의하지 않음을 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;16. 같은 페이지일 경우 변수 nowPageColor 에 값 hotpink를 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;17. 표시한 페이지 이동 링크이다. a 링크의 href 속성의 값으로 [183_list.php] 에 $_GET 방식으로 page의 값을 입력한다. a 링크에서 사용한 style 속성은 CSS 속성을 사용할 수 있는 속성이며, color 속성은 태그의 색을 지정하는 CSS 속성이다. $nbsp;는 공백을 표시하는 기능을 갖는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;18. 현재 페이지가 마지막 페이지와 같다면 다음 링크를 표시하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;19. [다음] 링크에서 이동할 값을 구한다. 현재 페이지의 값에서 1을 더한 값을 변수 nextPatge에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;20. 마지막 페이지로 이동하는 링크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp;[코드 184]는 [코드 183]에서 include 하는 파일이므로 [코드 183]을 웹프라우저에서 호출하여 테스트한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URl은 http://localhost/php/board/183_list.php 이다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;638&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mw2SJ/btrPx2hEO2d/3fGibky9lDfTZhwmRJRPY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mw2SJ/btrPx2hEO2d/3fGibky9lDfTZhwmRJRPY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mw2SJ/btrPx2hEO2d/3fGibky9lDfTZhwmRJRPY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmw2SJ%2FbtrPx2hEO2d%2F3fGibky9lDfTZhwmRJRPY0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;638&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;638&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아직 186_searchForm.php 파일은 만들어지지 않은 상태이므로 에러가 표시된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>게시판만들기</category>
      <category>페이지이동링크생성하기</category>
      <category>페이징</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/656</guid>
      <comments>https://stonefree.tistory.com/656#entry656comment</comments>
      <pubDate>Wed, 26 Oct 2022 04:16:28 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 게시판 만들기 (6/10) - 게시물 목록 페이지 생성하기</title>
      <link>https://stonefree.tistory.com/655</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 게시판 만들기 (6/10) - 게시물 목록 페이지 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;앞 포스팅에서 임의로 게시물을&amp;nbsp; 생성했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 이 게시물의 목록을 보는 페이지를 생성해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;게시물 목록 페이지는 모든 게시물을 불러오지 않고 등록된 시간을 기준으로 최신순으로 20개만 표시하게 생성하도록 하자.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;또한 게시물은 table 태그를 사용하여 목록을 출력하도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 table 태그를 사용하여 만들 게시물 출력 폼이다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;번호&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;제목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;작성자&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;게시일&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;50&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;50번째 제목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;노는아빠&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2022-10-26 02:50&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;49&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;49번째 제목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;노는아빠&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2022-10-26 02:50&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;48&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;48번째 제목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;노는아빠&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2022-10-26 02:50&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위와 같은 테이블을 만들려면 table 태그를 사용하며, 제목에 해당하는 부분을 구성하려면 table 태그 내에서 thead 태그를 사용하며, thead 태그 내에서 칸을 생성할 때는 th 태그를 사용한다. 내용을 표시하는 부분은 tbody 태그를 사용한다. 라인을 생성할 때는 tr 태그를 사용하며 칸을 생성할 때는 td 태그를 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위의 태이블을 table 태그를 사용하여 표시하면 다음과 같은 코드를 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1666720712129&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table&amp;gt;
  &amp;lt;thead&amp;gt;
    &amp;lt;th&amp;gt;번호&amp;lt;/th&amp;gt;
    &amp;lt;th&amp;gt;제목&amp;lt;/th&amp;gt;
    &amp;lt;th&amp;gt;작성자&amp;lt;/th&amp;gt;
    &amp;lt;th&amp;gt;게시일&amp;lt;/th&amp;gt;
  &amp;lt;/thead&amp;gt;
  &amp;lt;tbody&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;50번째 제목&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;노는아빠&amp;gt;/td&amp;gt;
      &amp;lt;td&amp;gt;2022-10-26 02:50&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;49&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;49번째 제목&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;노는아빠&amp;gt;/td&amp;gt;
      &amp;lt;td&amp;gt;2022-10-26 02:50&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;48번째 제목&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;노는아빠&amp;gt;/td&amp;gt;
      &amp;lt;td&amp;gt;2022-10-26 02:50&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 게시물의 목록을 생성하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 183_list.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';
?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;게시물목록&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;a href=&quot;./180_writeForm.php&quot;&amp;gt;글 작성하기&amp;lt;/a&amp;gt;
  &amp;lt;a href=&quot;/php/joinLogin/177_signOut.php&quot;&amp;gt;로그아웃&amp;lt;/a&amp;gt;
  &amp;lt;table&amp;gt;
    &amp;lt;thead&amp;gt;
      &amp;lt;th&amp;gt;번호&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;제목&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;작성자&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;게시일&amp;lt;/th&amp;gt;
    &amp;lt;/thead&amp;gt;
    &amp;lt;tbody&amp;gt;
      &amp;lt;?php
        if(isset($_GET['page'])) {
          $page = (int) $_GET['page'];
        } else {
          $page = 1;
        }

        $numView = 10;
        $firstLimitValue = ($numView * $page) - $numView;

        $sql = &quot;SELECT b.boardID, b.title, m.nickName, b.regDate FROM board b &quot;;
        $sql .= &quot;JOIN member m ON (b.memberID = m.memberID) ORDER BY boardID &quot;;
        $sql .= &quot;DESC LIMIT {$firstLimitValue}, {$numView}&quot;;
        $result = $dbConnect-&amp;gt;query($sql);

        if($result) {
          $dataCount = $result-&amp;gt;num_rows;

          if($dataCount &amp;gt; 0) {
            for($i = 0; $i &amp;lt; $dataCount; $i++) {
              $memberInfo = $result-&amp;gt;fetch_array(MYSQLI_ASSOC);
              echo &quot;&amp;lt;th&amp;gt;&quot;;
              echo &quot;&amp;lt;td&amp;gt;&quot;.$memberInfo['boardID'].&quot;&amp;lt;/td&amp;gt;&quot;;
              echo &quot;&amp;lt;td&amp;gt;&amp;lt;a href='/php/board/185_view.php?boardID={$memberInfo['boardID']}'&amp;gt;{$memberInfo['title']}&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&quot;;
              echo &quot;&amp;lt;td&amp;gt;{$memberInfo['nickName']}&amp;lt;/td&amp;gt;&quot;;
              echo &quot;&amp;lt;td&amp;gt;&quot;.date('Y-m-d H:i:s', $memberInfo['regDate']).&quot;&amp;lt;/td&amp;gt;&quot;;
              echo &quot;&amp;lt;/tr&amp;gt;&quot;;
            }
          } else {
            echo &quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan='4'&amp;gt;게시글이 없습니다.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;;
          }
        }
      ?&amp;gt;
    &amp;lt;/tbody&amp;gt;
  &amp;lt;/table&amp;gt;

  &amp;lt;?php
    include $_SERVER['DOCUMENT_ROOT'].'/php/board/184_nextPageLink.php';
    include $_SERVER['DOCUMENT_ROOT'].'/php/board/186_searchForm.php';
  ?&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. [171_session] 파일을 include 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 비로그인 시에 접근할 수 없도록 [179_checkSignSession.php] 파일을 include 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. member 테이블과 board 테이블의 데이터를 가져오므로 [163_connection.php] 파일을 include 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 게시물 목록 페이지에서 글 작성하기 페이지로 바로 이동할 수 있는 링크를 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 게시물 목록 페이지에서 바로 로그아웃 할 수 있는 링크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. table 태그의 제목에 해당하는 부분이다. 게시물 목록에서 출력할 정보는 게시물의 번호, 제목, 작성자, 게시일 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 게시물 목록 페이지에는 한 페이지에 10개의 게시물 데이터를 출력한다. 그러므로 책의 쪽수 정보를 $_GET 방식으로 데이터를 전달한다. $_GET['page']가 없다면 1페이지 임을 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8. 한번에 출력할 게시물의 수는 10이며 이 값을 변수 numView에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9. 변수 firstLimitValue는 쿼리문 LIMIT 문의 첫 번째 값으로 사용된다. 페이지수의 값에 따라 불러오는 데이터를 정하는 공식이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;페이지수에 따른 LIMIT 문의 첫 번쨰 값의 변화는 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;페이지수&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;계산시&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;LIMIT문&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(10 * 1) - 10&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;LIMIT 0, 10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(10 * 2) - 10&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;LIMIT 10, 10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(10 * 3) -10&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;LIMIT 20, 10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10. 게시글의 데이터를 불러오는 쿼리문이다. 작성자 정보를 함께 표시하지만 board 테이블에는 작성자 정보가 없기 때문에 member 테이블과 함께 memberID 정보를 매칭하여 작성자 정보를 함께 불러온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;11. 불러온 데이터의 수만큼 table 태그의 tr 태그와 td 태그를 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;12. 제목을 누르면 해당 게시물의 내용을 볼 수 있는 페이지로 이동해야 하므로 a 링크를 사용하여 주소를 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;boardID의 값을 GET 방식으로 전송한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;13. board 테이블에는 게시글을 작성한 시간이 타임스탬프로 되어 있으므로 이 값을 보기 쉽게 yyyy-mm-dd hh:mm:ss 형태로 변환한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;14. 다음 페이지로 이동하는 링크가 있는 파일을 include 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;15. 검색 기능이 있는 파일을 include 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/board/183_list.php 이다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;851&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyCaEc/btrPzLyP2c1/zFchP7XgzH3Rkuo6HKkLm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyCaEc/btrPzLyP2c1/zFchP7XgzH3Rkuo6HKkLm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyCaEc/btrPzLyP2c1/zFchP7XgzH3Rkuo6HKkLm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyCaEc%2FbtrPzLyP2c1%2FzFchP7XgzH3Rkuo6HKkLm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;851&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;851&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;184_nextPageLink.php 와 186_searchForm.php 파일은 아직 만들지 않았기 때문에 에러가 표시된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>게시물목록페이지만들기</category>
      <category>게시판만들기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/655</guid>
      <comments>https://stonefree.tistory.com/655#entry655comment</comments>
      <pubDate>Wed, 26 Oct 2022 03:35:27 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 게시판 만들기 (5/10) - 임의 게시물(Random Data) 입력하기</title>
      <link>https://stonefree.tistory.com/654</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[PHP] 게시판 만들기 (5/10) - 임의 게시물(Random Data) 입력하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;게시물의 목록 페이지를 만들어보자. 그 전에 게시물을 리스트로 생성하려면 많은 게시물 데이터가 필요하다. 게시물 입력폼이 있는 페이지로 여러개의 게시물을 직접 입력하려면 불편하므로 프로그래밍을 통해 임의로 board 테이블에 테이터를 입력해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 board 테이블에 임의로 데이터를 입력하는 예제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;[예제: 182_inputRandData.php ]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1653380562683&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  for($i = 1; $i &amp;lt;= 50; $i++) {
    $time = time();
    $sql = &quot;INSERT INTO board (memberID, title, content, regDate) &quot;;
    $sql .= &quot;VALUES (5, '{$i}번째 제목', '{$i}번째 내용', {$time})&quot;;
    $result = $dbConnect-&amp;gt;query($sql);
    if($result) {
      echo &quot;{$i}번째 데이터 입력완료&quot;;
    } else {
      echo &quot;{$i}번째 데이터 입력실패&quot;;
    }
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. for문에 쓰인 변수 i의 값은 memberID 필드의 값으로 사용되며 변수 i의 값이 1부터 50이 될 때까지 반복한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 레코드를 입력하는 시간을 변수 time에 대입한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. board 테이블에 입력할 쿼리문을 작성한다. 제목에는 변수 i의 값을 사용하여 몇 번째 제목이라는 문구가 입력되며 내용에는 변수 i의 값을 사용하여 몇 번째 내용이라는 문구가 입력되게 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 쿼리문을 실행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;쿼리문의 실행 여부를 확인해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;실행 URL은 http://localhost/php/board/182_inputRandData.php 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;실행결과&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;451&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGkRUI/btrPzAKXK6L/GYzQIZKO6y55AjPTg5ahB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGkRUI/btrPzAKXK6L/GYzQIZKO6y55AjPTg5ahB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGkRUI/btrPzAKXK6L/GYzQIZKO6y55AjPTg5ahB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGkRUI%2FbtrPzAKXK6L%2FGYzQIZKO6y55AjPTg5ahB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;451&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;451&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;초보자를 위한 PHP 200제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;김태영 지음 | 정보문화사&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>무료강좌&amp;amp;튜토리얼/PHP</category>
      <category>php</category>
      <category>게시판만들기</category>
      <category>임의게시물입력하기</category>
      <author>Playdaddy</author>
      <guid isPermaLink="true">https://stonefree.tistory.com/654</guid>
      <comments>https://stonefree.tistory.com/654#entry654comment</comments>
      <pubDate>Wed, 26 Oct 2022 02:44:08 +0900</pubDate>
    </item>
  </channel>
</rss>