php 資料的新增、更新問題

我參考一本書上範例去寫php的程式,和建立mysql的資料庫

但是我想在php的網頁上做資料的新增、修改、刪除,除了刪除外其他的都沒有成功

修改到資料庫內,我試了很多次都不知道哪裡錯誤,請大大們幫我看看是哪裡寫錯了

<?php

include("connMysql.php");

if (!@mysql_select_db("course")) die("資料庫選擇失敗!");

if(isset($_POST["action"])&&($_POST["action"]=="update")){

$sql_query = "UPDATE `stuinfo` SET ";

$sql_query .= "`stuname`='".$_POST["stuname"]."',";

$sql_query .= "`cours1`='".$_POST["cours1"]."',";

$sql_query .= "`cours2`='".$_POST["cours2"]."',";

$sql_query .= "`cours3`='".$_POST["cours3"]."',";

$sql_query .= "WHERE `ID`=".$_POST["ID"];

mysql_query($sql_query);

//重新導向回到主畫面

header("Location: data.php");

}

$sql_db = "SELECT * FROM `stuinfo` WHERE `ID`=".$_GET["id"];

$result = mysql_query($sql_db);

$row_result=mysql_fetch_assoc($result);

?>

修改跟新增的程式碼很像只是if(isset($_POST["action"])&&($_POST["action"]=="update"))改成了if(isset($_POST["action"])&&($_POST["action"]=="add"))

接下來網頁顯示的程式碼都是一樣的

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>學生資料管理系統</title>

</head>

<body>

<h1 align="center">學生資料管理系統 - 新增資料</h1>

<p align="center"><a href="data.php">回主畫面</a></p>

<form action="" method="post" name="formAdd" id="formAdd">

<table border="1" align="center" cellpadding="4">

<tr>

<th>欄位</th><th>資料</th>

</tr>

<tr>

<td>姓名</td><td><input type="text" name="stuname" id="stuname"></td>

</tr>

<tr>

<td>course</td><td><input type="text" name="cours1" id="cours1"></td>

</tr>

<tr>

<td>course</td><td><input type="text" name="cours2" id="cours2"></td>

</tr>

<tr>

<td>course</td><td><input type="text" name="cours3" id="cours3"></td>

</tr>

<tr>

<td colspan="2" align="center">

<input name="action" type="hidden" value="add">

<input type="submit" name="button" id="button" value="新增資料">

<input type="reset" name="button2" id="button2" value="重新填寫">

</td>

</tr>

</table>

</form>

</body>

</html>

2 個解答

評分
  • 6 年前
    最佳解答

    修改

    -------------------------------------------------------

    $sql_query .= "`cours3`='".$_POST["cours3"]."'";

    改成 $sql_query .= "`cours3`='".$_POST["cours3"]."'";

    $sql_query .= "WHERE `ID`=".$_POST["ID"];

    這行我在html裡面沒有看到叫做ID欄位

    看你要不要改成$_GET["ID"];

    或是在新增一個hidden,裡面放ID的值

    <input name="action" type="hidden" value="add">

    改成 <input name="action" type="hidden" value="update">

    不然沒辦法進到if(isset($_POST["action"])&&($_POST["action"]=="update"))裡面

    --------------------------------------------------------

    新增部分 先確認

    有沒有跑進程式

    在看$_POST的值跟sql語法對不對

  • 若有要外包可和我連絡

    jarrys2

還有問題?馬上發問,尋求解答。