chaychie Posted July 21, 2011 Share Posted July 21, 2011 Hi guys, I have the following code which works well. The code is to display all the data from the database in input text field format. User is able to edit and update the details by clicking the update button at the end of each row to update the specific row. Instead of clicking the update button one by one (if user want to edit and update more than one row), now I would like to create a hyperlink which will update ALL the data at once. The problem now is I dunno how to pass the value of $_post to the "update.php" since I already have <form name="form1" action="submitAction.php" method="post"> I am not sure is it possible to do so. Or is there any other alternative ways? Thanks in advanced! =) <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> Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/ Share on other sites More sharing options...
Adam Posted July 21, 2011 Share Posted July 21, 2011 Why not just submit the data to "update.php"? Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1245520 Share on other sites More sharing options...
chaychie Posted July 21, 2011 Author Share Posted July 21, 2011 What do you mean by submitting the data? Can explain more? Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1245523 Share on other sites More sharing options...
TeNDoLLA Posted July 21, 2011 Share Posted July 21, 2011 He means changing the form action to update.php. Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1245532 Share on other sites More sharing options...
Nodral Posted July 21, 2011 Share Posted July 21, 2011 Either that, or if it's needed in more than one place assign it to a $_SESSION variable when it gets returned to submitAction.php. Just make sure you session_start(); at the beginning of all your scripts which require the variables. Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1245573 Share on other sites More sharing options...
chaychie Posted July 22, 2011 Author Share Posted July 22, 2011 Hi, I am not sure how to assign $_post value from the form to a $_SESSION variable. Any idea how to do it? Let say the name of the input text is name="ProjectName<?php echo $row['No'];?>" Besides that, Im having problem changing the form action to update.php since the form already submitting data to submitAction.php Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1246045 Share on other sites More sharing options...
Nodral Posted July 22, 2011 Share Posted July 22, 2011 All you do is put a line in submitAction.php which would process the variable and assign it. eg. if your $_POST variable was called test. you do the following. $_SESSION['test']=$_POST['test']; Then provided you have declared session_start(); at the beginning of every script, you can use $_SESSION['test'] in every script after it has been set. Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1246054 Share on other sites More sharing options...
Adam Posted July 22, 2011 Share Posted July 22, 2011 Storing POST data in the session is not the right way to do it. At what point do you clear it? What if they don't go far enough to clear it, and then re-visit the page and want to use different data? You then have a contaminated session forcing them to use the same data. Yes you could probably add in lots of logic to prevent that happening, but why go to the effort when there's a better, more appropriate way of doing it? Besides that, Im having problem changing the form action to update.php since the form already submitting data to submitAction.php Why do you need to submit to "submitAction.php" first? Why not just submit straight to "update.php"? That's what you should really be trying to do, instead of using session variables for something they're not meant for. Quote Link to comment https://forums.phpfreaks.com/topic/242519-_post-problem/#findComment-1246060 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.