[WAMP網站開發] PHP實現select新聞查詢及超連結詳情跳轉
這篇文章是最近教學生使用WAMP(Windows+Apache+MySQL+PHP)開發網站的基礎知識。前文 "[WAMP網站開發] PHP連線MySQL資料庫基礎知識" 講解了HTML佈局首頁,PHP連線資料庫以及XAMPP運算元據庫等基礎知識。這篇文章主要講解網站新聞查詢,點選每條新聞檢視詳情的功能。
這是是一篇教學文章,比較基礎,主要是給PHP網站開發的學生做個入門介紹,希望對你有所幫助,不足之處還請海涵。
下載地址:
一. 執行結果
執行結果如下圖所示,顯示所有的新聞資訊。注意:這裡我使用我從CSDN爬取我的部落格資訊資料庫作為新聞資訊。
爬蟲參考:[python爬蟲] Selenium爬取內容並儲存至MySQL資料庫
然後點選每一條新聞,去到詳情頁面並顯示。比如:點選最後一條新聞,“2016年總結:教師路的開啟,愛情味 的 初嘗”。
核心考點:
1.PHP如何連線資料庫,並實現查詢;
2.PHP通過<a href="info.php?id=xxx"></a>進行頁面跳轉;
3.PHP在寫SQL語句時,如何通過.$name.連線變數,進行查詢。
二. PHP資料庫連線方法
連線資料庫的方法我見解了學生ZT的方法,程式碼比較簡潔明瞭。
1.建立兩個PHP檔案:config.php 和 connect.php;
2.然後在需要連線資料庫的PHP檔案,呼叫 require_once('connect.php');
3.如果是含登入的介面,使用<?php session_start(); $_SESSION['name']; ?>
config.php 程式碼:
<?php
header('content-type:text/html;charset=utf-8');
define('HOST','localhost');
define('USERNAME','root');
define('PASSWORD','123456');
?>
connect.php 程式碼,注意呼叫 config.php,資料庫名:hcpmanage(火車票管理)。<?php
require_once('config.php');
if(!($con=mysql_connect(HOST,USERNAME,PASSWORD)))
{
die('Could not connect database: ' . mysql_error());
}
if(!mysql_select_db('hcpmanage'))
{
die ("Can\'t use hcpmanage : " . mysql_error());
}
mysql_query('set names utf8');
?>
main.php 使用的時候,核心程式碼如下所示,這也是獲取Select結果核心內容。<?php
//PHP連線資料庫
require_once('connect.php');
$sql="select ID, Artitle, FBTime from csdn_blog
order by FBTime desc limit 6;";
$query = mysql_query($sql);
if($query&&mysql_num_rows($query))
{
while($row = mysql_fetch_assoc($query))
{
$data[] = $row;
}
}
?>
三. 首頁新聞查詢
建立的資料庫如下表所示,包括標題、URL、作者、時間、摘要、閱讀數、評論數等資訊,這些都是使用Python爬取的內容。哈哈~
建立資料庫程式碼如下:
DROP TABLE IF EXISTS `csdn_blog`;
CREATE TABLE `csdn_blog` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`URL` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`Author` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '作者',
`Artitle` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '標題',
`Description` varchar(400) COLLATE utf8_bin DEFAULT NULL COMMENT '摘要',
`FBTime` date DEFAULT NULL COMMENT '釋出日期',
`YDNum` int(11) DEFAULT NULL COMMENT '閱讀數',
`PLNum` int(11) DEFAULT NULL COMMENT '評論數',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3593 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
main.php 主介面,程式碼如下:<?php
//PHP連線資料庫
require_once('connect.php');
$sql="select ID, Artitle, FBTime from csdn_blog
order by FBTime desc limit 6;";
$query = mysql_query($sql);
if($query&&mysql_num_rows($query))
{
while($row = mysql_fetch_assoc($query))
{
$data[] = $row;
}
}
?>
<!DOCTYPE>
<html>
<head>
<title>火車票訂票系統管理系統</title>
<style type="text/css">
#middle {
margin:0 auto; /* 水平居中 */
margin-top: 10px;
width: 80%;
height: 60%;
background-color: #E6E6FA;
}
#left {
float: left;
margin-left: 20px;
margin-top: 5px;
width: 25%;
height: 95%;
background-color: #9ACD32;
}
#right {
float: left;
margin-left: 20px;
margin-top: 5px;
width: 70%;
height: 95%;
background-color: #BFEFFF;
}
</style>
</head>
<body>
<div align="center">
<div class="trainCSS">
<table width="1024" height="150" cellpadding="0" cellspacing="0">
<tr><td colspan="2">
<img src="./image/logo.jpg" alt="logo"
width="1024" height="149">
</td></tr>
<tr><td height="12"></td></tr>
</table>
</div>
</div>
<!-- 中部內容查詢設計 -->
<div id="middle">
<div id="left">
<table width="100%" cellpadding="1"
cellspacing="1" border="1">
<tr><td height="10"></td></tr>
<tr><td align="center"> <font size="3" color="blue">使用者:xxx,歡迎您!</font></td></tr>
<tr><td height="10"></td></tr>
<tr>
<td align="center"><p><a href="trainManage.php">
<img src="image/ccxxgl-xz.jpg" width="194" height="37" border="0"></a><td> </td>
</tr>
<tr><td height="10"></td></tr>
<tr><td align="center"><a href="https://www.baidu.com/">
<img src="image/dpgl.jpg" width="194" height="37" border="0"></a>
</td></tr>
<tr><td height="10"></td></tr>
</table>
</div>
<div id="right">
<table width="100%" height="98%" border="1" cellpadding="0" cellspacing="0" bgcolor="#dfeaf1">
<tr><td align="left" valign="top" style="padding-left:20px;padding-top:10px;">
當前位置: <a href="main.jsp">首頁</a> > 車次資訊管理
<br /><br />
<form action="main_new.jsp" method="post">
輸入關鍵詞:
<input type="text" id="info" name="start" style='font-size:18px' width=400/>
<input type="submit" name="Select" value="搜尋" style='font-size:18px;'/>
</form>
<table width="90%" height="50%"
align="cneter" border="0" cellpadding="0" cellspacing="0" >
<?php
//獲取值
if(!empty($data))
{
foreach($data as $value)
{
$Nid = $value['ID']; //獲取新聞標號
echo "<tr><td width='80%' style='line-height:2em;'>
<a href='main_news.php?id=".$Nid."'>"
.$value['Artitle']."</a></td>";
echo "<td align='right'>".$value['FBTime'].
"</td></tr>";
}
}
?>
<tr><td><br /></td></tr>
<tr>
<td width="80%"><a href="">更多</a></td>
</tr>
</table>
</td></tr>
</table>
</div>
</div>
<div class="div">
<!-- 底部版權所有介面 -->
<TABLE class=wrapper border=0 cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY>
<TR><TD style="LINE-HEIGHT: 100%" align="center">
<HR style="WIDTH: 96%; HEIGHT: 4px; COLOR: #02457c">
<font size="2"> <SCRIPT language=javascript src=""></SCRIPT>
<!-- target=_blank開啟新的網頁 -->
<BR><A href="aboutme.jsp">關於我們</A> | <A href="wzsm.jsp"
>網站宣告</A> <BR>版權所有©2016-2017 貴州財經大學 Eastmount <BR>
資訊學院10006號 </font>
</TD></TR>
</TBODY>
</TABLE>
</div>
</div>
</body>
</html>
SQL語句按照發布時間排序,然後輸出前6行資料。
select ID, Artitle, FBTime from csdn_blog order by FBTime desc limit 6;
其中的重點是,在顯示新聞內容過程中的方法,這裡介紹兩種方法,Select查詢也顯示兩種方法供大家學習。
方法一:採用<table></table>迴圈顯示。
<?php
require_once('connect.php');
$start=$_POST['start'];
$end=$_POST['end'];
$sql="select * from ticket_tb where start like $start and end like $end";
$query=mysql_query($sql);
if($query&&mysql_num_rows($query))
{
while($row=mysql_fetch_assoc($query))
{
$data[]=$row;
}
}
?>
<div class="row" style="margin-top:50px;margin-left:30px;">
<table border="1" cellpadding="0">
<tr style="background:#06F;color:#FFF;height:30px;text-align:center;font-weight:bold;font-size:12px;font-family:雅黑">
<td style="width:80px;">汽車編號</td>
<td style="width:100px;">出發地</td>
<td style="width:100px;">目的地</td>
<td style="width:140px;">途徑站</td>
<td style="width:100px;">票價</td>
<td style="width:100px;">票數</td>
<td style="width:120px;">操作</td>
</tr>
<?php
if(!empty($data))
{
foreach($data as $value)
{
?>
<tr>
<td><?php echo $value['busid']?></td>
<td><?php echo $value['start']?></td>
<td><?php echo $value['end']?></td>
<td><?php echo $value['startTime']?></td>
<td><?php echo $value['busid']?></td>
<td><?php echo $value['busid']?></td>
<td><?php echo $value['busid']?></td>
</tr>
<?php
}
}
?>
</table>
</div>
輸出結果如下圖所示,它相當於table顯示錶頭,然後再html中結合php程式碼,while迴圈輸出查詢的資訊。注意: <?php } ?>需要匹配迴圈的結束括號。方法二:PHP中呼叫echo "<tr><td>"迴圈顯示。
<table width="90%" height="50%" align="cneter"
border="0" cellpadding="0" cellspacing="0" >
<?php
//PHP連線資料庫
require_once('connect.php');
$sql="select ID, Artitle, FBTime from csdn_blog
order by FBTime desc limit 6;";
$query = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
list($ID, $Artitle, $FBTime) = $row;
$Nid = $id; //獲取新聞標號
echo "<tr><td width='80%' style='line-height:2em;'>
<a href='main_news.php?id=".$Nid."'>"
.$Artitle."</a></td>";
echo "<td align='right'>".$FBTime.
"</td></tr>";
}
?>
</table>
重點內容:如何在PHP中通過“.”連線句子及變數,如 .$name. 。方法三:使用printf規則輸出。
<table border="1" cellpadding="0">
<tr style="background:#06F;color:#FFF;height:30px;text-align:center;font-weight:bold;font-size:12px;font-family:雅黑">
<td style="width:80px;">汽車編號</td>
<td style="width:100px;">出發地</td>
<td style="width:100px;">目的地</td>
<td style="width:140px;">出發日期</td>
<td style="width:100px;">出發時間</td>
<td style="width:100px;">票價</td>
<td style="width:100px;">餘票數</td>
<td style="width:120px;">操作</td>
</tr>
<?php
$sql="select a.id, a.busid,a.start,a.end,busDate,startTime,price,total-sellnum from ticket_tb a,saleticket_tb b where a.busid=b.busid and a.start like '%".$start."%' and a.end like '%".$end."%' and busDate ='".$busDate."' limit 11";
$query=mysql_query($sql);
while($data = mysql_fetch_row($query))
{
printf("<tr style='text-align: center;''>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td><a href='buy.php?id=%s>'>購票
</a></td>
</tr>",
$data[1],$data[2],$data[3],$data[4],
$data[5],$data[6],$data[7],$data[0]);
}
// 結束 顯示首頁 地點查詢
?>
</table>
四. 詳情顯示
詳情頁面,主要通過超連結進行跳轉。
跳轉前URL:http://localhost:8080/Eastmount/main.php
跳轉後URL:http://localhost:8080/Eastmount/main_news.php?id=79
main.php 設定超連結:
main_news.php?id=70 表示該跳轉的ID為70,通過select找到這條新聞的詳細資訊,再通過 <?php echo $Description;?> 輸出顯示。
<?php
$sql="select Artitle, Author, URL, FBTime,
Description, PLNum, YDNum
from csdn_blog where ID=".$_GET["id"]."";
$query = mysql_query($sql);
while($row = mysql_fetch_row($query))
{
list($Artitle, $Author, $URL, $FBTime,
$Description, $PLNum, $YDNum) = $row;
}
?>
main_news.php 完整代:<?php
//PHP連線資料庫
require_once('connect.php');
?>
<!DOCTYPE>
<html>
<head>
<title>火車票訂票系統管理系統</title>
<style type="text/css">
#middle {
margin:0 auto; /* 水平居中 */
margin-top: 10px;
width: 80%;
height: 60%;
background-color: #E6E6FA;
}
#left {
float: left;
margin-left: 20px;
margin-top: 5px;
width: 25%;
height: 95%;
background-color: #9ACD32;
}
#right {
float: left;
margin-left: 20px;
margin-top: 5px;
width: 70%;
height: 95%;
background-color: #BFEFFF;
}
</style>
</head>
<body>
<div align="center">
<div class="trainCSS">
<table width="1024" height="150" cellpadding="0" cellspacing="0">
<tr><td colspan="2">
<img src="./image/logo.jpg" alt="logo"
width="1024" height="149">
</td></tr>
<tr><td height="12"></td></tr>
</table>
</div>
</div>
<!-- 中部內容查詢設計 -->
<div id="middle">
<div id="left">
<table width="100%" cellpadding="1"
cellspacing="1" border="1">
<tr><td height="10"></td></tr>
<tr><td align="center"> <font size="3" color="blue">使用者:xxx,歡迎您!</font></td></tr>
<tr><td height="10"></td></tr>
<tr>
<td align="center"><p><a href="trainManage.php">
<img src="image/ccxxgl-xz.jpg" width="194" height="37" border="0"></a><td> </td>
</tr>
<tr><td height="10"></td></tr>
<tr><td align="center"><a href="https://www.baidu.com/">
<img src="image/dpgl.jpg" width="194" height="37" border="0"></a>
</td></tr>
<tr><td height="10"></td></tr>
</table>
</div>
<div id="right">
<table width="100%" height="98%" border="1" cellpadding="0" cellspacing="0" bgcolor="#dfeaf1">
<tr><td align="left" valign="top" style="padding-left:20px;padding-top:10px;">
當前位置: <a href="main.php">首頁</a> > 車次資訊管理
<br /><br />
<?php
$sql="select Artitle, Author, URL, FBTime,
Description, PLNum, YDNum
from csdn_blog where ID=".$_GET["id"]."";
$query = mysql_query($sql);
while($row = mysql_fetch_row($query))
{
list($Artitle, $Author, $URL, $FBTime,
$Description, $PLNum, $YDNum) = $row;
?>
<div style="text-align:center;">
<h3><?php echo $Artitle;?></h3>
</div>
<hr/>
<div style="padding-top:10px;">
<p> 時間:<?php echo $FBTime;?>
釋出人:<?php echo $Author;?>
評論數:<?php echo $PLNum;?>
閱讀數:<?php echo $YDNum;?> <br />
連結:<?php echo $URL;?>
</p>
<p>
<?php echo $Description;?>
</p>
</div>
<!--上面的php中while迴圈並沒有結束,還有右括號-->
<?php
}
?>
</td></tr>
</table>
</div>
</div>
<div class="div">
<!-- 底部版權所有介面 -->
<TABLE class=wrapper border=0 cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY>
<TR><TD style="LINE-HEIGHT: 100%" align="center">
<HR style="WIDTH: 96%; HEIGHT: 4px; COLOR: #02457c">
<font size="2"> <SCRIPT language=javascript src=""></SCRIPT>
<!-- target=_blank開啟新的網頁 -->
<BR><A href="aboutme.jsp">關於我們</A> | <A href="wzsm.jsp"
>網站宣告</A> <BR>版權所有©2016-2017 貴州財經大學 Eastmount <BR>
資訊學院10006號 </font>
</TD></TR>
</TBODY>
</TABLE>
</div>
</div>
</body>
</html>
希望基礎性文章對你有所幫助,如果文章中存在不足或錯誤的地方還請您海涵~
不管秀璋本人多麼平庸,但我總覺得對你的愛真的很美。
(By:Eastmount 2017-05-02 下午5點 http://blog.csdn.net/eastmount/ )
相關文章
- [WAMP網站開發] PHP連線MySQL資料庫基礎知識網站PHPMySql資料庫
- JavaScript 阻止超連結跳轉JavaScript
- 直播平臺開發,實現點選跳轉外部連結時的跳轉步驟
- CNNIC:新聞網站跳廣告怎麼辦?CNN網站
- 移動新聞網站,掌上移動新聞,移動新聞客戶端,jQuery Mobile移動新聞網站,移動新聞網站demo,新聞閱讀器開發網站客戶端jQuery
- JavaScript 阻止超連結的跳轉JavaScript
- select查詢之四:連線查詢
- JavaScript 阻止擊超連結的跳轉JavaScript
- nginx實現網站url帶參跳轉Nginx網站
- MySQL 連線查詢超全詳解MySql
- 直播電商軟體開發,商城商品實現三方連結跳轉的
- PHP獲取動態跳轉後的真實連結PHP
- TextView:超連結的樣式與跳轉TextView
- 如何查詢和顯示網站的損壞連結?網站
- PHP頁面跳轉如何實現延時跳轉PHP
- [提問交流]這要如何實現跳轉連結
- 網站首頁的輪播新聞flash效果實現網站
- php怎麼實現登陸後跳轉網頁PHP網頁
- PHP中實現頁面跳轉PHP
- php實現301跳轉PHP
- DeviceAtlas:2017新聞網站移動端優化情況調查報告dev網站優化
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- 爬取網站新聞網站
- select查詢中union連線符
- 【eslint 外掛開發】禁用 location 跳轉外部連結EsLint
- SQL Sever 實現查詢超過自己經理工資的員工(自連線查詢)SQL
- 華為AppGallery常用跳轉與連結詳解APP
- PHP 實現二分查詢PHP
- 網站漏洞測試php程式碼修復詳情網站PHP
- (轉)快速搭建PHP開發環境WAMP+ZendStudio+ZendDebuggerPHP開發環境
- (超詳細)動手編寫-連結串列(Java實現)Java
- dapp元宇宙鏈遊開發【詳情】技術實現及原始碼實現方式APP元宇宙原始碼
- 直播app原始碼,跳轉站外連結或平臺內部跳轉頁面APP原始碼
- 央視新聞《 大⃞發888官方網站 》手機搜狐網網站
- PHP頁面跳轉幾種實現方法PHP
- PHP實現長連結轉化成新浪短連結API介面程式碼分享PHPAPI
- 【轉】跳躍表-原理及Java實現Java
- PHP在大型網站開發PHP網站