PHP 네이티브 개발 뉴스 스테이션의 뉴스 목록 (2)
저번 수업에서 뉴스 데이터 테이블 생성을 완료했으니 오늘은 뉴스 목록 표시 페이지를 만드는 방법을 설명하고 배경 템플릿에서 콘텐츠 관리 페이지를 찾아서~ 추가하는 방법을 설명하겠습니다. 중복코드는 필요없고 삭제하세요!
그럼 뉴스 목록 페이지 만들기를 시작해 보겠습니다!
1단계: 데이터베이스에 연결
<?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"); ?>
2단계: 데이터 테이블의 모든 내용을 쿼리하고 SQL 문 실행
$sql = "select * from new where 1 "; // 查询语句 $result = mysqli_query($link, $sql); $arr_news = mysqli_fetch_all($result, MYSQL_ASSOC);
3단계: 이제 데이터 테이블의 모든 데이터를 얻었으므로 이제 필요합니다. 루프로 데이터가 출력되고, 템플릿에서 데이터가 출력될 위치를 찾아 데이터를 얻어옵니다!
<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']; } ?>
분류표를 꺼내서 분류표를 횡단해보세요!
위 사진처럼 모든 소식이 나옵니다!