php原生開發新聞站之新聞列表(二)
上課我們把新聞的資料表創建完成了,那麼今天我們就給大家講解下如何做新聞列表展示頁,那麼在後台模板中找到我們的內容管理的頁面~,然後把我們不需要的以及多餘的程式碼給刪除掉!
然後我們就可以開始做我們的新聞清單頁了!
第一步:連接資料庫
<?php // 显示所有的错误 error_reporting(E_ALL & ~E_NOTICE ); // 连接mysql数据库 $link = mysqli_connect('localhost','root', 'root'); if (!$link) { echo "connect mysql error!"; exit(); } // 选中数据库 news为数据库的名字 $db_selected = mysqli_select_db($link, 'news'); if (!$db_selected) { echo "<br>selected db error!"; exit(); } // 设置mysql字符集 为 utf8 $link->query("set names utf8"); ?>
第二步:查詢資料表裡的所有的內容並執行SQL語句
$sql = "select * from new where 1 "; // 查询语句 $result = mysqli_query($link, $sql); $arr_news = mysqli_fetch_all($result, MYSQL_ASSOC);
第三步:現在我們已經把資料表的資料都取得到了,現在就是要他資料循環輸出,在範本裡找到要輸出資料的位置,然後取資料!
<table class="table table-hover text-center"> <tr> <th width="100" style="text-align:left; padding-left:20px;">ID</th> <th>分类名</th> <th>标题</th> <th>内容</th> <th>关键字</th> <th>图片</th> <th>作者</th> <th width="10%">更新时间</th> <th width="310">操作</th> </tr> <?php if($arr_news){ foreach ($arr_news as $val){ echo "<tr>"; echo " <td style='text-align:left; padding-left:20px;'> <input type='checkbox' name='id[]' value='' />{$val['id']}</td>"; echo "<td>{$new_category_value[$val['category_id']]}</td>"; echo "<td>". mb_substr($val['title'], 0,15,"utf-8")."</td>"; echo "<td>". mb_substr($val['content'], 0,20,"utf-8")."</td>"; echo "<td>{$val['tag']}</td>"; if($val['pic']){ echo "<td ><img src='{$val['pic']}' style='width: 50px; height: 50px'></td>"; }else{ echo "<td>暂无图片</td>"; } echo "<td>{$val['author']}</td>"; echo "<td>{$val['created_at']}</td>"; ?> <td> <div class='button-group'> <a class='button border-main' href='new_edit.php?id=<?php echo $val['id'];?>'> <span class='icon-edit'></span> 修改</a> <a class='button border-red' href='javascript:;' onclick='return del(<?php echo $val['id']?>)'> <span class='icon-trash-o'></span> 删除</a> </div> </td> <? echo "</tr>"; } } ?>
我們這裡使用的是foreach 來遍歷資料了,當然還有很多循環的方法,大家可以根據自己的熟悉的來完成功能~
說明一下:我們這裡有個分類名,這個就是我們的分類的內容!所以我們這裡不只要對新聞表查詢,我們也要對分類表查詢!
<?php $sql = "select * from new_category "; $result = mysqli_query($link, $sql); $new_category = mysqli_fetch_all($result, MYSQL_ASSOC); $new_category_value = array(); foreach($new_category as $val ){ $new_category_value[$val['id']] = $val['name']; } ?>
取出分類表並遍歷分類表!
如上圖所以,所有的新聞都呈現出來!