php中的action 和ID

update.php

...

<?php

//insert code

if (isset($_POST["Insert"])){

// open DB's connect

require_once("DB_Open.inc");//create SQL program

$sql="INSERT INTO information(host,content,my_host,active,ps) VALUES('";

$sql.=$_POST["Host"]."','".$_POST["Content"]."','".$_POST["My_host"]."','".$_POST["Active"]."','".$_POST["Ps"]."')";

//appear the SQL prograrm

echo "<b> SQL program:</br><center>$sql </b><br/>";//sent MySQL(Big5)

mysqli_query($link,"SET CHARACTER SET big5");

mysqli_query($link,"SET collation_connection='big5_chinese_ci");

//appear success or fault

if (mysqli_query($link,$sql))// do SQL program

echo "Inset success, effect the record number: ".mysqli_affected_rows($link)."<br/>";

else

die("SQL Insert fault <br/>");

echo "</center>";

}

?><form action="update.php" method="post">

<table border="1">

<tr><td> host :</td><td><input type=""text" name="Host" size="50"></td></tr>

.....

</table><hr/><input type="submit" name="Insert" value="Insert">

</form><?php

//update code

require_once("DB_Open.inc");//SQL read

if (isset($_SESSION["SQL"]))

$sql=$_SESSION["SQL"];

else

$sql="select * from information ORDER BY id";

$result=mysqli_query($link,$sql);//appear the SQL recorde

echo "<table border=1 align=center ><tr>";

while ($meta=mysqli_fetch_field($result))

echo "<td>".$meta->name."</td>";

echo "</tr>";//get the rows number$total_fields=mysqli_num_fields($result);while($row=mysqli_fetch_row($result)){

echo "<tr>";//show the value for every rows

for($i=0;$i<=$total_fields-1;$i++)

echo "<td>".$row[$i]."</td>";echo "<td><a href='edit.php?action=edit&id="; //edit

echo $rows[0]."'><b>編輯|";echo "<td><a href='edit.php?action=del&id="; //del

echo $rows[0]."'><b>刪除;</b></td>";echo "</tr>";

}

echo "</table>"?>

http://mkdh.ihost.tw/ex3/update.php

已更新項目:

edit.php

...

$id=$_GET["id"];

$action=$_GET["action"];

require_once("DB_Open.inc");

switch ($action){

case "edit":

echo "id";

echo $id;

break;

2 個已更新項目:

case "del":

$sql="DELETE FROM information WHERE id=".$id;

mysqli_query($link,$sql);

header("Location:update.php");

break;

}...

請問

1.為什麼我的CODE好像沒有抓到ID,刪除都不成功

2.我可以刪除第20筆資料,可是新加時,為何直接到21去了(如何修改?)

3.我這樣寫有沒有什麼要注意的

其實這是我從書上修改過來的,第一次用PHP~雖然有幾本PHP的書...可是還是不知那兒出錯 ^.^!!

3 個已更新項目:

對哦! ( ̄. ̄)+

不過現在不知為何,我無法登入去....(所以我晚點再去改看看...)

可讀性很低是因字數有限...所以備註都被我刪了(抱歉^^)

另外從20跳到21是正常的麼

3 個解答

評分
  • 貓霸
    Lv 5
    10 年前
    最佳解答

    程式的可讀性很低~~~~ >_<

    在這行

    while($row =mysqli_fetch_row($result)){

    你的資料明明是被fetch到$row陣列裡去,

    但你在底下幾行的陣列卻變成$rows [0].......

    就錯在這裡,難怪抓不到id

    echo "<td><a href='edit.php?action=edit&id="; //edit

    echo $rows[0] ."'><b>編輯|";echo "<td><a href='edit.php?action=del&id="; //del

    echo $rows[0] ."'><b>刪除;</b></td>";

    ps:好像還漏了</a> 哦!

    應改成

    echo "<td><a href='edit.php?action=edit&id="; //edit

    echo $rows[0] ."'><b>編輯<b></a></td>";

    echo "<td><a href='edit.php?action=del&id="; //del

    echo $rows[0] ."'><b>刪除</b></a></td>";

    2011-03-23 15:57:07 補充:

    我連抄都沒改到 >_<

    echo " 編輯 ";

    echo " 刪除 ";

    2011-03-23 15:58:12 補充:

    echo "<td><a href='edit.php?action=edit&id="; //edit

    echo $row[0] ."><b>編輯<b></a></td>";

    echo "<td><a href='edit.php?action=del&id="; //del

    echo $row[0] ."><b>刪除</b></a></td>";

    2011-03-23 15:59:24 補充:

    跳號是正常的,你那id的欄位應該是自動遞加1的數字~

  • 匿名使用者
    6 年前

    到下面的網址看看吧

    ▶▶http://*****/

  • 10 年前

    echo "<td><a href='edit.php?action=edit&id="; //edit

    echo $rows[0]."'><b>編輯|";echo "<td><a href='edit.php?action=del&id="; //del

    echo $rows[0]."'><b>刪除;</b></td>";上面兩行的$rows[0] 要改成 $row[0]連結根本就沒帶到id

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