$ _post问题(如何传递$ _post的值)

时间:2011-07-21 08:44:35

标签: php

我有以下代码,效果很好。

代码是以输入文本字段格式显示数据库中的所有数据。用户可以通过单击每行末尾的更新按钮来编辑和更新详细信息,以更新特定行。

不是逐个点击更新按钮(如果用户想要编辑和更新多行),现在我想创建一个超链接,它将立即更新所有数据。

现在的问题是我不知道如何将$ _post的值传递给“update.php”,因为我已经有了

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

我不确定是否可以这样做。或者还有其他替代方法吗?

<html>
<script language="javascript" >
<!-- hide
function submitRequest(id) {
document.forms[id].submit();
}
// end hide -->
</script>

<!-- The Javasript (Onclick) to Remove the Readonly Attribute-->
<script language="JavaScript">
  function removeAlignment(id){
   document.getElementById("ProjectName_"+id).removeAttribute("readonly",0);
   document.getElementById("DeviceType_"+id).removeAttribute("readonly",0);
  }
</script>

<body>
<?php

$counter=1;
//Connecting and Accessing the Database 
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("Project", $con);

$result = mysql_query("SELECT * FROM Project where status='Ongoing'");

?>

<p><h2 align="center">ADC Project Funnel</h2></p>
<table border="1" bordercolor="lavender" cellspacing="0" cellpadding="0">
  <tr>
    <td width="20" bgcolor="steelblue" height="15" style="font-size: 11" align="center"><b><font face="Arial">No</font></b></td>
    <td width="78" bgcolor="steelblue" height="15" style="font-size: 11" align="center"><b><font face="Arial">Project
      Name</font></b></td>
    <td width="72" bgcolor="steelblue" height="15" style="font-size: 11" align="center"><b><font face="Arial">Device Type</font></b></td>
    <td width="67" bgcolor="steelblue" height="15" style="font-size: 11" align="center"><b><font face="Arial">Status</font></b></td>
    <td width="67" bgcolor="steelblue" height="15" style="font-size: 11" align="center"><b><font face="Arial"></font></b></td>
  </tr>
  <tr>
  <td colspan="15" height="15" bgcolor="#AFEEEE"><font face="Arial" size="1.9">Current Project Assignment</font></td>
  </tr>

  <!-- Records from the database (Current Project Assignment) -->
  <?php 
  $i = 0;
    while ($row=mysql_fetch_array($result)){
  ?>
    <tr>
    <form name="form1" action="submitAction.php" method="post">
    <td height="5" width="20"  align="center" style="font-size: 13" valign="middle"><?php echo $counter; ?></td>
    <td height="5" width="72" ><input type="text" autocomplete=off readonly="readonly" id="ProjectName_<?php echo $i; ?>" name="ProjectName<?php echo $row['No'];?>" value="<?php echo  $row['ProjectName'];?>" size="20" style="font-size: 10"></font></td>
    <td height="5" width="72" ><input type="text" autocomplete=off readonly="readonly" id="DeviceType_<?php echo $i; ?>" name="DeviceType<?php echo $row['No'];?>" value="<?php echo  $row['DeviceType'];?>" size="15" style="font-size: 10"></font></td>
    <td height="5" width="67" style="font-size: 13">
    <select name="action" onchange="submitRequest(<?php echo $i; ?>);">
    <option value=>Ongoing </option>
    <option value="<?php echo $row['ProjectName'];?>">Complete</option>
    <option value="<?php echo $row['Flag2'];?>">Future</option>
    <option value="<?php echo $row['Flag1'];?>">Cancel</option>
    <option value="<?php echo $row['No'];?>">Update</option>
    <option value="<?php echo $row['Flag3'];?>">Delete</option>
    </select>                                   
    </td>
    <td height="5" width="64" ><input type="button" style="width:100%" value="Edit" onclick="removeAlignment(<?php echo $i; ?>);"></td>
    </tr>
    </form> 
    <?php 

    ?>

  <?php 
  $i++;
  $counter++;
  }
  ?>   


  <tr>
  <td colspan="16" bgcolor="#AFEEEE"><font face="Arial" size="1.9">Add New Project Assignment</font></td>
  </tr>

   <!-- Add New Records -->
  <tr>
   <form action="project_insert.php" method="post">
     <td width="20" ></td>
     <td width="78" ><input type="text" autocomplete=off name="ProjectName"  size="40" style="font-size: 10"></font></td>
     <td width="72" ><input type="text" autocomplete=off name="DeviceType" size="15" style="font-size: 10"></font>
     <td width="80" style="font-size: 13">
         <select name="Status" style="width:100%">
            <option value=Future>Future</option>
            <option value=Ongoing>Ongoing</option>        
         </select>      
       </td>
       <td>
        <input type="Submit" style="width:100%"value="Add">

       </td>
     </form>
  </tr>
</table>
<br/>

<table border="0" align="center" cellpadding="0" cellspacing="10">
    <tr>
         <td valign="middle"><a href="http://localhost/Project/update.php">update</a></td>

  </tr>
</table>

<br/>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

您想将链接中的值传递给另一个页面吗?

只需使用 $ _ GET [] ,例如:

<a href="update.php?value=1&toto=2">Update all</a>

答案 1 :(得分:0)

为所有内容制作一个表单标记 - 而不是每行的单独表单标记。

下一步改变:

<select name="action" onchange="submitRequest(<?php echo $i; ?>);">

要:

<select name="action[<php echo $i; ?>]" onchange="submitRequest(<?php echo $i; ?>);">

(最好使用数据库中的主键而不是$ i计数器,但是你没说它是什么。)

也没有必要这样做:

<!-- hide
// end hide -->

已经有10年了,所以你应该停止包括那个。