dongpi2503 2013-05-17 20:07
浏览 5

根据用户操作更新表

Im tryng to update a table based on a user action please help, When i submit the query nothng happens if user selects edit it should update the table what Am I doing wrong?

if ($action == "edit"){


$edit = $_POST['edit'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];


$sql=mysql_query("select * from user where id='$id'");

   while ($row=mysql_fetch_array($sql)) 
 {                                                                                                                                                                                                                                                     
$id = $row['id'];
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$email = $row['email'];

$result=mysql_query("UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' WHERE id='$id'");


echo("<form name='edit' method='post' action='?action=edit'>");
echo("<input type='hidden' name='?action=edit'>");
echo("<table class=main cellspacing=0 cellpadding=5 >");
echo("<tr><td>Name: </td><td align='right'><input type='text' name='first_name' value='$first_name'></td></tr>");
echo("<tr><td>Surname: </td><td align='right'><input type='text'  name='last_name' value='$last_name'></td></tr>");
echo("<tr><td>Email: </td><td align='right'><input type='text' name='email' value='$email'></td></tr>");
echo("<tr><td></td><td><div align='right'><input type='submit'></div></td></tr>");
echo("</table>");
     }    
         }
  • 写回答

2条回答 默认 最新

  • duanlie2709 2013-05-17 20:11
    关注

    You are updating your database with the results that you are pulling in.

    You need to update the database before you select your row:

    Couple of notes: You are not setting id in your form (possibly make it a hidden input). The largest problem that I'm seeing is that you aren't initially setting ID (ie when there is no $_POST data).

    Additionallly, you should be using PDO or mysqli

    if($_POST){
        $id = $_POST['id'];
        $edit = $_POST['edit'];
        $first_name = $_POST['first_name'];
        $last_name = $_POST['last_name'];
        $email = $_POST['email'];
        $result=mysql_query("UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' WHERE id='$id'");
    }
    
    $sql=mysql_query("select * from user where id='$id'");
    
    while ($row=mysql_fetch_array($sql)){                                             
        $id = $row['id'];
        $first_name = $row['first_name'];
        $last_name = $row['last_name'];
        $email = $row['email'];
    
    
        echo("<form name='edit' method='post' action='?action=edit'>");
        echo("<input type='hidden' name='?action=edit'>");
        echo("<table class=main cellspacing=0 cellpadding=5 >");
        echo("<tr><td>Name: </td><td align='right'><input type='text' name='first_name' value='$first_name'></td></tr>");
        echo("<tr><td>Surname: </td><td align='right'><input type='text'  name='last_name' value='$last_name'></td></tr>");
        echo("<tr><td>Email: </td><td align='right'><input type='text' name='email' value='$email'></td></tr>");
        echo("<tr><td></td><td><div align='right'><input type='submit'></div></td></tr>");
        echo("</table>");
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效