2013-03-14 73 views
1

我要更新特定行的表需要在我的PHP语句一些建议更新SQL表

我用这个语句来调用客户端的信息

<?php 
$host="localhost"; // Host name 
$username="****"; // Mysql username 
$password="****"; // Mysql password 
$db_name="****"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// get value of id that sent from address bar 
$id=$_GET['id']; 

// Retrieve data from database 
$sql="SELECT * FROM $tbl_name WHERE member_msisdn='$query'"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 
?> 

这工作得很好呼应的信息我需要并能够改变它。

<form name="form1" method="post" action="control_clientupdated.php"> 

这referes到我的行动的PHP脚本

的问题,我需要帮助的是如何做我通知我的动作脚本使用我跑更新该行的查询相同的ID。

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// update data in mysql database 
$sql="UPDATE $tbl_name SET member_name='$member_name',  
member_surname='$member_surname', member_msisdn='$member_msisdn', cid='$cid',  
cofficenr='$cofficenr', cfax='$cfax', e2mobile='$e2mobile' WHERE member_msisdn='$query'"; 
$result=mysql_query($sql); 

我已经把在更新

让我说出它显示了做的最后的WHERE语句,但它并没有在所有

+1

刚在隐藏字段中传递'$ id'的值。 – Rikesh 2013-03-14 13:13:35

+0

是你的“control_clientupdated.php”脚本的第二部分? – 2013-03-14 13:15:12

+0

取决于你在哪里存储id(在表单中的某处?),但是像$ _POST ['id']; – 2013-03-14 13:15:18

回答

1

更新表首先,你需要存储您的ID转换为表单中的隐藏表单元素。

<form method="post" action="control_clientupdated.php"> 
    <input type="hidden" name="member_msisdn" value="<?=$query?>" /> 
    ... 
</form> 

这将允许您通过您的第一个php脚本中的值。

然后在您的control_clientupdated.php中,您需要使用$_POST来恢复您的价值。

// Store the $_POST value for my query ID 
$query = $_POST['member_msisdn'] ; 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// update data in mysql database 
$sql="UPDATE $tbl_name SET member_name='$member_name',  
member_surname='$member_surname', member_msisdn='$member_msisdn', cid='$cid',  
cofficenr='$cofficenr', cfax='$cfax', e2mobile='$e2mobile' WHERE member_msisdn='$query'"; 
$result=mysql_query($sql); 

这应该是你所需要的 - 请注意,您不能使用$_GET来检索的形式传递的变量,因为你与method="post"属性来发送它,你必须使用$_POST代替$_GET

+1

谢谢蓝色它运作良好,需要调整一些东西,但工作 – 2013-03-14 13:37:50

+0

好知道:)不要忘记upvote它,如果它的工作。 – 2013-03-14 13:38:28