>백엔드 개발 >PHP 문제 >PHP에서 뉴스를 보려면 링크를 클릭하는 방법

PHP에서 뉴스를 보려면 링크를 클릭하는 방법

PHPz
PHPz원래의
2023-03-31 09:05:29812검색

인터넷 기술의 발전으로 어떻게 하면 더 편리하고 빠르게 뉴스를 검색할 수 있는지가 많은 웹사이트 개발자에게 공통적인 과제가 되었습니다. 웹사이트 개발에 널리 사용되는 백엔드 언어로서 PHP는 많은 흥미로운 기능을 구현할 수 있으며 그 중 하나는 링크를 클릭하여 뉴스를 보는 것입니다. 본 글에서는 PHP를 사용하여 이 기능을 구현하는 방법과 관련된 기술적 포인트를 소개하겠습니다.

  1. 데이터베이스 구축
    먼저 뉴스 정보를 저장할 데이터베이스를 구축해야 합니다. 다음 내용으로 MySQL에서 새 테이블을 만듭니다.

CREATE TABLE news (
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
pub_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);

이 테이블에는 id, title, content, pub_date의 4개 필드가 포함되어 있습니다. 그 중 id는 자체 증가하는 기본 키이고, title은 뉴스 제목을 저장하고, content는 뉴스의 특정 내용을 저장하고, pub_date는 발표 시간을 저장합니다.

  1. 백엔드 구현
    링크를 클릭하여 뉴스를 보려면 백그라운드에서 PHP 코드를 작성해야 합니다. 먼저, 뉴스 정보가 저장된 데이터를 쿼리하고 얻기 위해 데이터베이스에 대해 SELECT 문을 작성해야 합니다.

$conn = mysqli_connect($host, $user, $pwd, $db);
$sql = "SELECT * FROM 뉴스 WHERE id = '{$id}'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
mysqli_free_result($result);
mysqli_close($conn);

위 코드에서 $host, $user, $pwd, $db는 데이터베이스 연결에 필요한 파라미터이고, $id는 GET 메소드를 통해 전달된 뉴스 ID를 의미합니다. 이 코드 블록은 mysqli_connect() 함수를 사용하여 데이터베이스에 접속한 후 SELECT 문을 실행하여 그 결과를 $result 변수에 저장하고, 마지막으로 mysqli_fetch_assoc() 함수를 통해 결과 집합의 행 데이터를 얻어서 다음 위치에 저장합니다. $row 변수. 마지막으로 mysqli_free_result() 함수를 사용하여 결과 세트를 해제하고 mysqli_close() 함수를 사용하여 데이터베이스 연결을 닫습니다.

  1. 프런트엔드 구현
    프론트엔드에서는 뉴스 ID를 PHP 프로그램에 전달하고 쿼리 결과에 따라 뉴스 제목과 내용을 출력해야 합니다. 뉴스 제목을 렌더링하려면 HTML에 다음 코드를 추가하고 PHP 프로그램을 가리키도록 href 속성을 추가하세요.

이 코드는 다음에서 가져옵니다. PHP 프로그램 ID를 저장하고 이를 href 속성에 동적으로 추가하여 사용자가 링크를 클릭한 후 해당 뉴스 페이지로 이동할 수 있도록 합니다.

동시에 PHP 프로그램에서는 전면에서 전달된 정보를 얻어야 합니다. $_GET[] 메소드를 통해 데스크를 실행한 후 위에서 언급한 SELECT 문을 실행하여 뉴스 데이터를 얻은 후 최종적으로 HTML로 출력합니다.

$id = $_GET['id '];
$conn = mysqli_connect($host, $user, $pwd, $db);
$sql = "SELECT * FROM news WHERE id = '{$id}'";
$result = mysqli_query($conn , $sql);
$row = mysqli_fetch_assoc($ 결과);
mysqli_free_result($result);
mysqli_close($conn);
?>



<?php echo $ row['title'] ?>





이 코드는 PHP 프로그램의 출력을 추가합니다. HTML에서는 뉴스 제목과 내용이 데이터베이스에서 쿼리된 데이터를 기반으로 동적으로 렌더링됩니다.

  1. 전체 코드
    독자의 이해를 돕기 위해 전체 PHP 코드가 제공됩니다. 여기:

index.php (뉴스 목록 페이지) :

& lt; GT;
& lt; ; newslst & lt;/head & gt; B & lt; ul & gt; php

$conn = mysqli_connect($host, $user, $pwd, $db);
$sql = "SELECT * FROM news";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {

?php
  <li><a href="view_news.php?id=<?php echo $row[&#39;id&#39;]; ?>"><?php echo $row[&#39;title&#39;]; ?></a></li>

?>

$id = $_GET['id'];

$conn = mysqli_connect($host, $user, $pwd, $db);

$ sql = "SELECT * FROM 뉴스 WHERE id = '{ $id}'";

$result = mysqli_query($conn, $sql);

$row = mysqli_fetch_assoc($result);

mysqli_free_result($result);
mysqli_close ($conn);
?>
< ;!DOCTYPE html>

<?php echo $row['title'] ?>< /title><br></head><br>< body><br> <h1><?php echo $row['title'] ?></h1><br> <p><?php echo $row['content'] ?>< ;/p><br></body><br></html><br></p> <ol start="5"><li>요약<br>위의 단계를 완료한 후 "뉴스를 보려면 링크를 클릭하세요" 기능을 구현할 수 있습니다. 주요 기술 포인트에는 MySQL 데이터베이스 구축, SELECT 문 작성, PHP로 전달된 매개변수 가져오기, HTML 동적으로 출력 등이 포함됩니다. 이 기능을 구현하면 웹사이트 사용자가 최신 뉴스 정보를 보다 편리하고 빠르게 얻을 수 있습니다. </li></ol><p>위 내용은 PHP에서 뉴스를 보려면 링크를 클릭하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!</p></div><div class="nphpQianMsg"><a href="javascript:void(0);">php</a> <a href="javascript:void(0);">sql</a> <a href="javascript:void(0);">mysql</a> <a href="javascript:void(0);">html</a> <a href="javascript:void(0);">echo</a> <a href="javascript:void(0);">NULL</a> <a href="javascript:void(0);">select</a> <a href="javascript:void(0);">timestamp</a> <a href="javascript:void(0);">int</a> <a href="javascript:void(0);">default</a> <a href="javascript:void(0);">href</a> <a href="javascript:void(0);">ul</a> <a href="javascript:void(0);">table</a> <a href="javascript:void(0);">数据库</a><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="PHP로 책 제목을 쿼리하는 방법" href="https://m.php.cn/ko/faq/505098.html">PHP로 책 제목을 쿼리하는 방법</a></span><span>다음 기사:<a class="dBlack" title="PHP로 책 제목을 쿼리하는 방법" href="https://m.php.cn/ko/faq/505100.html">PHP로 책 제목을 쿼리하는 방법</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="https://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/ko/faq/420291.html" title="PHP is_uploaded_file 함수를 사용하는 방법" class="aBlack">PHP is_uploaded_file 함수를 사용하는 방법</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/420348.html" title="PHP 마이크로타임 기능을 사용하는 방법" class="aBlack">PHP 마이크로타임 기능을 사용하는 방법</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/420450.html" title="PHP Trigger_error 함수를 사용하는 방법" class="aBlack">PHP Trigger_error 함수를 사용하는 방법</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/420455.html" title="PHP array_diff_assoc 함수의 기능은 무엇입니까" class="aBlack">PHP array_diff_assoc 함수의 기능은 무엇입니까</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/420459.html" title="PHP 빈 기능을 사용하는 방법" class="aBlack">PHP 빈 기능을 사용하는 방법</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!</p></div><div class="footermid"><a href="https://m.php.cn/ko/about/us.html">회사 소개</a><a href="https://m.php.cn/ko/about/disclaimer.html">부인 성명</a><a href="https://m.php.cn/ko/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>