php通过表格更新表 [英] php update table by form

查看:147
本文介绍了php通过表格更新表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试从表单更新表。



我有3页。第一个用编辑链接查询我表格中的所有行。
当点击编辑(第2页)时,代码将获取$ id并将其放入url中。 $ id从网址中提取,用于填充表单。



我的问题是将更新后的表单信息传递到我的表中。基本上没有更新。



第二页

 < ;?php 

包含'../db/config.php';
包含'../db/opendb.php';

$ id = $ _GET [id];

$ order =SELECT * FROM tableName where id ='$ id';
$ result = mysql_query($ order);
$ row = mysql_fetch_array($ result);

?>

< form method =postaction =edit_data.php>
< input type =hiddenname =idvalue =<?php echo$ row [id]?>>>
< tr>
< td>标题< / td>
< td>
< input type =textname =titlesize =20value =<?php echo$ row [title]?>>>
< / td>
< / tr>
< tr>
< td>发布< / td>
< td>
< input type =textname =postsize =40value =<?php echo
$ row [post]?>>
< / td>< / tr>
< tr>
< td align =right>
< input type =submitname =submit valuevalue =Edit>
< / td>
< / tr>
< / form>

* 固定第三页

  include'../db/config.php'; 
包含'../db/opendb.php';

if(isset($ _ POST [id])){
$ id = mysql_real_escape_string(trim($ _ POST ['id']));
} else {
$ id = NULL;
}

if(isset($ _ POST [title])){
$ title = mysql_real_escape_string(trim($ _ POST ['title']));
} else {
$ title = NULL;
}

if(isset($ _ POST [post])){
$ post = mysql_real_escape_string(trim($ _ POST ['post']));
} else {
$ post = NULL;
}

$ query =UPDATE tableName SET title ='$ title',post ='$ post'WHERE id ='$ id';
mysql_query($ query);

?>

提前致谢:)

*编辑谢谢大家

解决方案

  if(isset($ _ POST [title])){
$ title = mysql_real_escape_string(trim($ _ POST ['title']));
} else {
$ title = NULL;
}

if(isset($ _ POST [post])){
$ post = mysql_real_escape_string(trim($ _ POST ['post']));
} else {
$ post = NULL;



$ query =UPDATE tableName SET title ='$ title',post ='$ post'WHERE id ='$ id';
mysql_query($ query);

我还会推荐mysqli函数而不是mysql,我可能不会调用变量和表列'post'以避免混淆。


I'm trying to update a table from a form.

I have 3 pages. The first one queries all of the rows from my table with an "edit" link. When edit is clicked (page 2) the code pulls the $id and puts it in the url. The $id is pulled from the url and is used in a query to fill a form.

My problem is passing the updated form info to my table. Basically the update isn't happening.

Second page

<?php

  include '../db/config.php';
  include '../db/opendb.php';

$id = $_GET["id"]; 

  $order = "SELECT * FROM tableName where id='$id'";
  $result = mysql_query($order);
  $row = mysql_fetch_array($result);

  ?>

  <form method="post" action="edit_data.php">
  <input type="hidden" name="id" value="<?php echo "$row[id]"?>">
    <tr>        
      <td>Title</td>
<td>
<input type="text" name="title" size="20" value="<?php echo"$row[title]"?>">
</td>
    </tr>
    <tr>
      <td>Post</td>
    <td>
<input type="text" name="post" size="40" value="<?php echo
  "$row[post]"?>">
</td></tr>
<tr>
<td align="right">
<input type="submit" name="submit value" value="Edit">
</td>
    </tr>
</form>

* fixed third page

                   include '../db/config.php';
      include '../db/opendb.php';

if (isset($_POST[id])){
$id = mysql_real_escape_string(trim($_POST['id']));
    }else{
$id = NULL;
    }

if (isset($_POST[title])){
$title = mysql_real_escape_string(trim($_POST['title']));
    }else{
$title = NULL;
    }

if (isset($_POST[post])){
$post = mysql_real_escape_string(trim($_POST['post']));
    }else{
$post = NULL;
    }

$query = "UPDATE tableName SET title='$title', post='$post' WHERE id='$id'";           
mysql_query($query); 

?>

thanks in advance : )

*edit thanks everyone

解决方案

if (isset($_POST[title])){
$title = mysql_real_escape_string(trim($_POST['title']));
    }else{
$title = NULL;
    }

if (isset($_POST[post])){
$post = mysql_real_escape_string(trim($_POST['post']));
    }else{
$post = NULL;
    }


$query = "UPDATE tableName SET title='$title', post='$post' WHERE id='$id'";           
mysql_query($query); 

I would also recommend mysqli functions instead of mysql and I probably wouldn't call a variable and table column 'post' to avoid confusion.

这篇关于php通过表格更新表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆