PHPネイティブ開発ニュースステーションのニュース一覧(2)
前回の授業(yè)でニュースデータテーブルの作成が完了したので、今日はニュース一覧表示ページの作成方法を説明し、背景テンプレートでコンテンツ管理ページを見つけて、必要なものを追加します。不要なため、冗長(zhǎng)なコードは削除されます。
それでは、ニュース一覧ページの作成を始めましょう。
ステップ 1: データベースに接続します
<?php // 顯示所有的錯(cuò)誤 error_reporting(E_ALL & ~E_NOTICE ); // 連接mysql數(shù)據(jù)庫(kù) $link = mysqli_connect('localhost','root', 'root'); if (!$link) { echo "connect mysql error!"; exit(); } // 選中數(shù)據(jù)庫(kù) news為數(shù)據(jù)庫(kù)的名字 $db_selected = mysqli_select_db($link, 'news'); if (!$db_selected) { echo "<br>selected db error!"; exit(); } // 設(shè)置mysql字符集 為 utf8 $link->query("set names utf8"); ?>
ステップ 2: データ テーブル內(nèi)のすべての內(nèi)容をクエリし、SQL ステートメントを?qū)g行します
$sql = "select * from new where 1 "; // 查詢語(yǔ)句 $result = mysqli_query($link, $sql); $arr_news = mysqli_fetch_all($result, MYSQL_ASSOC);
ステップ 3: これで、すべてが揃いました。データテーブルのデータが取得できたので、ループでデータを出力し、テンプレート內(nèi)でデータを出力する場(chǎng)所を見つけて、データを取得する必要があります。
<table class="table table-hover text-center"> <tr> <th width="100" style="text-align:left; padding-left:20px;">ID</th> <th>分類名</th> <th>標(biāo)題</th> <th>內(nèi)容</th> <th>關(guān)鍵字</th> <th>圖片</th> <th>作者</th> <th width="10%">更新時(shí)間</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>暫無(wú)圖片</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 を使用してデータを走査します。もちろん、ループ メソッドは多數(shù)あります。使い慣れたものに基づいて関數(shù)を完成させることができます~
説明: ここにカテゴリ名があり、これがカテゴリの內(nèi)容です。したがって、ここではニュース テーブルをクエリするだけでなく、分類テーブルもクエリする必要があります。
<?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']; } ?>
分類表を取り出して、分類表を橫斷してみましょう。