2012-11-30 53 views
2

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

这是我的步骤:

首先我赞同行,然后我码的形式操作。然后,在adminpost.php中,我创建变量,链接字段并使用UPDATE MYSQL更新表中的数据。我已经成功地更新了主表数据,但是我被卡在了外键数据中。感谢:D

+0

你能实际代码添加到这个问题? – FoolishSeth

回答

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> 
+0

非常感谢:D。它会更新'外表中的许多数据吗? 'value1'和'value2'代表来自其他表格的许多外国数据吗?谢谢您:D – user1822825

+0

换句话说,其他外部表中的多个相关记录将使用“UPDATE table1 SET value1 ='$ value1',value2 ='$ value2'WHERE id ='$ id'”更新? – user1822825

+0

不,您需要使用单独查询更新所有表。即有另一个更新并同时运行。 –

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数据库和更新记录你,希望这是你需要什么样的

+0

问题是我在外表中有很多相关记录。换句话说,在另一个表中有许多具有相同主ID的行。 1个变量是否可以设置外部表中的所有记录?非常感谢:D – user1822825

+0

您可以使用内部连接查询来做到这一点我认为:'从table1更新table1.column_name,table2.column_name内部连接table2在table1.column_name = table2.column_name其中table1.column_name =“your_criteria” ;' –

+0

我需要做这样的第一个代码: $ qry = mysql_query(“SELECT * FROM client WHERE resID = $ resID”); $ qry1 = mysql_query(“SELECT * FROM services WHERE resID = $ resID”); – user1822825