PHP + MySQL创建一个表单来更改MySQL表中的数据

时间:2012-11-30 08:35:35

标签: php mysql rows

我想构建一个表单来更改MySQL表中的数据。首先,我列出了adminindex.php页面中的所有数据。然后,我创建一个按钮来打开表单中的选定数据。我已经完成了将表单字段分配给main(pk)MySQL表。当我需要获取外部表数据时,我的问题就开始了,因为该表包含许多外来数据。你们知道,一个班级可能有很多学生,我已经为班级数据创建了字段,现在问题出在学生数据中。我是否必须创建许多字段才能从MySQL外表中获取数据?如果是的话,你们可以告诉我代码步骤吗?非常感谢你。真的很感谢你的帮助:D

这些是我的步骤:

首先我回显行,然后编码表单动作。然后,在adminpost.php中,我创建变量,链接字段并使用UPDATE MYSQL来更新表中的数据。我已经成功更新了主表数据,但我陷入了外键数据。谢谢:D

2 个答案:

答案 0 :(得分:3)

有2页。在第一个表单中显示数据,在第二个表单中进行更新。这是一个逐个执行的代码,如果需要,可以一次构建多行。

edit.php

<?php
mysql_connect('ip', 'username', 'password') or die(mysql_error());
mysql_select_db("db_name") or die(mysql_error());

$query = mysql_query("SELECT * FROM table1 where order by question_id limit 1") or             die(mysql_error());

if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
    $id = $row['id'];
    $value1= $row['value1'];
    $value2= $row['value2'];
}
?>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?php echo $id;?>">

Value1: <input type="text" name="value1" value="<?php echo $value1;?>">
<br>
Value2: <input type="text" name="value2" value="<?php echo $value2?>">
<input type="Submit" value="Change">
</form>
<?php
}else{
    echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>

update.php

 <?php
 mysql_connect('ip', 'username', 'password') or die(mysql_error());
 mysql_select_db("db_name") or die(mysql_error());

 $id = mysql_real_escape_string($_POST["ID"]);
 $value1 = mysql_real_escape_string($_POST["value1"]);
 $value2 = mysql_real_escape_string($_POST["value2"]);

 $query="UPDATE table1 SET value1 = '.$value1.', value2 = '.$value2.' WHERE id='$id'";


 mysql_query($query)or die(mysql_error());
 if(mysql_affected_rows()>=1){
echo "<p>($id) Record Updated<p>";
 }else{
echo "<p>($id) Not Updated<p>";
 }
 ?>
 <a href="edit.php">Next</a>

答案 1 :(得分:0)

可能有助于实际编写代码,但据我所知您只是想编辑表中已有的数据?如果是这样的话:

//Connect to SQL DB
$dbcnx = @mysql_connect("localhost", "root", "password");

//Select DB
mysql_select_db("database_name", $dbcnx);

//Query DB
$sql = update table_name set column_name = "$variable" where column = "your_criteria";

@mysql_query($sql)

这会将您连接到您的SQL DB并为您更新记录,希望这就是您需要的