Nouvelles de modification de la station d'information sur le développement natif PHP
Cette le?on continue de vous présenter la modification des nouvelles, l'ajout, la suppression, la modification et la vérification. Dans la dernière le?on, nous avons complété la fonction d'ajout de nouvelles. En fait, le principe de modification des nouvelles est le même que celui de l'ajout de nouvelles. modifiez simplement la valeur des données que nous voulons obtenir dans la zone de saisie, puis modifiez et enregistrez dans la base de données. Voyons comment l'implémenter !
Créez d'abord un fichier php, nous l'appelons new_edit.php
Nous trouvons le bouton pour modifier les actualités sur la page d'affichage de la liste des actualités, puis lui donnons une connexion pour transmettre l'information via l'identifiant. Nous l'acceptons via. l'identifiant dans new_edit.php
<a class='button border-main' href='new_edit.php?id=<?php echo $val['id'];?>'> <span class='icon-edit'></span> 修改</a>
Ensuite, nous nous connectons à la base de données
<?php // 連接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");
Ensuite, définissons l'image, obtenons l'image
<?php if(count($_POST)>0){ if( count($_FILES['pic']) > 0 && $_FILES['pic']['name'] ) { // 保存頭像圖片 $flag = true; } // 檢查文件類型 if( !in_array($_FILES['pic']['type'], array('image/jpeg','image/png', 'image/gif')) ){ echo "只運(yùn)行上傳jpg或png圖片, 文件類型不合法,不允許上傳"; } // 檢查文件大小 if ($_FILES['pic']['size'] > 5*1024*1024){ echo "文件最大尺寸為5M,不允許上傳."; } if ( $flag ){ // 獲取文件后綴名 $file_ext= pathinfo($_FILES['pic']['name'], PATHINFO_EXTENSION); $tmp_file = $_FILES['pic']['tmp_name']; // 臨時(shí)文件 $dest_file = pathinfo($tmp_file, PATHINFO_FILENAME).".".$file_ext; // 保存的文件名 //move_uploaded_file($tmp_file, "d:/wamp/www/upload/".$dest_file); // 使用絕對(duì)地址保存圖片 move_uploaded_file($tmp_file, "../../upload/".$dest_file); // 使用相對(duì)地址保存圖片 $avatar_path ="../../upload/".$dest_file; // 注意,保存的時(shí)候,設(shè)置從服務(wù)器的根目錄開(kāi)始 } if( !$avatar_path ){ $avatar_path = $arr_recommend['img']; }
Ensuite, récupérons les informations via l'identifiant, interrogeons la table de données, exécutons l'instruction SQL
// 根據(jù)id 獲取用戶信息 $id = $_GET['id']; if( !is_numeric($id) ) { echo "ERROR!"; exit; } //獲取查詢信息 $sql ="select * from new where id = $id"; $result = mysqli_query($link,$sql); $arr_news = mysqli_fetch_array($result, MYSQL_ASSOC);
Ensuite utilisez le jeu de mise à jour pour enregistrer les données dans la base de données, le code est le suivant?:
$update_sql = "update new set category_id = '{$_POST['category_id']}', title ='{$_POST['title']}', content ='{$_POST['content']}', tag ='{$_POST['tag']}', author ='{$_POST['author']}', pic ='{$avatar_path}', created_at ='{$_POST['created_at']}' where id ='{$_POST['id']}' "; $result = mysqli_query($link,$update_sql); if($result){ echo "添加成功!"; $url = "http://127.0.0.1/news/Admin/new/new_list.php"; header("Location: $url"); exit; }else{ echo "修改失?。?quot;; } }
L'étape suivante consiste à attribuer une valeur à la valeur dans chaque zone de saisie?:
<form method="post" class="form-x" action="" enctype="multipart/form-data"> <input type="hidden" name="id" value="<?php echo $arr_news['id'];?>"> <div class="form-group"> <div class="label"> <label>分類ID:</label> </div> <div class="field"> <select name="category_id" required class="form-select"> <option value="">-請(qǐng)選擇-</option> <?php foreach( $arr_news_category as $val){ $str_selected = ""; if( $arr_news['category_id'] == $val['id']){ $str_selected = "selected"; } echo "<option value='{$val['id']}' $str_selected>{$val['name']}</option>"; } ?> </select> <div class="tips"></div> </div> </div> <div class="form-group"> <div class="label"> <label>標(biāo)題:</label> </div> <div class="field"> <input type="text" class="input w50" value="<?php echo $arr_news['title'];?>" name="title" data-validate="required:請(qǐng)輸入標(biāo)題" /> <div class="tips"></div> </div> </div> <div class="clear"></div> <div class="form-group"> <div class="label"> <label>關(guān)鍵字:</label> </div> <div class="field"> <input type="text" class="input" name="tag" value="<?php echo $arr_news['tag'];?>" /> </div> </div> <div class="form-group"> <div class="label"> <label>內(nèi)容:</label> </div> <div class="field"> <textarea name="content" class="input" id="content" style="height:450px; width: 98%; border:1px solid #ddd;"><?php echo $arr_news['content'];?></textarea> </div> </div> <div class="form-group"> <div class="label"> <label>作者:</label> </div> <div class="field"> <input type="text" class="input w50" name="author" value="<?php echo $arr_news['author'];?>" /> <div class="tips"></div> </div> </div> <div class="form-group"> <div class="label"> <label>圖片:</label> </div> <div class="field"> <input type="file" id="url1" name="pic" class="input tips" style="width:25%; float:left;" value="<?php echo $arr_news['pic'];?>" data-toggle="hover" data-place="right" data-image="" /> <input type="button" class="button bg-blue margin-left" id="image1" value="+ 瀏覽上傳" style="float:left;"> <div class="tipss">圖片尺寸:500*500</div> </div> </div> <div class="form-group"> <div class="label"> <label>發(fā)布時(shí)間:</label> </div> <div class="field"> <script src="../js/laydate/laydate.js"></script> <input type="text" class="laydate-icon input w50" name="created_at" onclick="laydate({istime: true, format: 'YYYY-MM-DD hh:mm:ss'})" value="<?php echo $arr_news['created_at']?>" data-validate="required:日期不能為空" style="padding:10px!important; height:auto!important;border:1px solid #ddd!important;" /> <div class="tips"></div> </div> </div> <div class="form-group"> <div class="label"> <label></label> </div> <div class="field"> <button class="button bg-main icon-check-square-o" type="submit"> 提交</button> </div> </div> </form>
Il y a aussi une catégorie à traiter. pour interroger d'abord les données de la table de classification :
//獲取所有的新聞分類 $sql = "select * from new_category "; $result = mysqli_query($link, $sql); $arr_news_category = mysqli_fetch_all($result, MYSQL_ASSOC);
Parcourez les informations de catégorie dans la zone de saisie du nom de la catégorie :
<div class="form-group"> <div class="label"> <label>分類ID:</label> </div> <div class="field"> <select name="category_id" required class="form-select"> <option value="">-請(qǐng)選擇-</option> <?php foreach( $arr_news_category as $val){ $str_selected = ""; if( $arr_news['category_id'] == $val['id']){ $str_selected = "selected"; } echo "<option value='{$val['id']}' $str_selected>{$val['name']}</option>"; } ?> </select>
OK ! La modification de l'actualité est terminée ici !