1,105,226 Community Members

How to create submit button on each row ?

Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

How to create submit button on each row ? If i press the button on that row, the information on that row will be confirmed.


What is the problem?

;<input name="<?php echo $row['id']; ?>" type="submit" id="<?php echo $row['id']; ?>" value="Confrim">&

The whole code

<?php
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="test"; // Database name 
$tbl_name="test_mysql1"; // Table name 

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

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>


<form id="form" name="form" method="post" action="confirm.php"><table border='1' cellspacing='0' width='612'>
<tr>
<th bgcolor='green'><font color='white'>#</font></th>
<th bgcolor='green'><font color='white'>Id</font></th>
<th bgcolor='green'><font color='white'>Name</font></th>
<th bgcolor='green'><font color='white'>Lastname</font></th>
<th bgcolor='green'><font color='white'>Email</font></th>
</tr>
               
<?php
$i = 0; 

$number = 0;
while($row = mysql_fetch_array($result)){

$number++;

?>
   
<?php
$i++;

if($i%2)
{
$bg_color = "#EEEEEE";
}
else {
$bg_color = "#E0E0E0";
}
?> 
   
   <tr bgcolor='". $bg_color ."'>
   <td><center><Strong><font color='red'><?php echo $row['id']; ?></font></Strong></center></td>
  <td><center><Strong><?php echo $row['name']; ?></font></Strong></center></td>
  <td><center><Strong><?php echo $row['lastname']; ?></Strong></center></td>
  <td><center><Strong><?php echo $row['email'];  ?></Strong> &nbsp;&nbsp;&nbsp;<input name="<?php echo $row['id']; ?>" type="submit" id="<?php echo $row['id']; ?>" value="Confrim">&nbsp;</center></td>
  </tr>
<?php } ?>
            </table>
            <div class="select"><strong>Other Pages: </strong>
               <select>
                  <option>1</option>
               </select>
           </div>
             
               <label>



                </label></form>

confirm.php

if(isset($_POST['accept'])) {       
               
      mysql_query("UPDATE $tbl_name SET Status = 'Confirmed' WHERE id = $id");
                                 
    }
Member Avatar
ayesha789
Posting Pro in Training
495 posts since Jun 2009
Reputation Points: 7 [?]
Q&As Helped to Solve: 7 [?]
Skill Endorsements: 5 [?]
 
0
 

Use loops for shwoing button on each row

Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Can you suggest the code or the source? I don't know how to write it? Thanks!

Member Avatar
six_sic6
Light Poster
34 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 5 [?]
Skill Endorsements: 0 [?]
 
0
 

can you specify what u want to do?...there are many solutions of it. You can have onlu button instead of a submit button. Or if you want to submit the data of the whole table, this can be done easily with javascript.

Waiting for your reply...

Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

I just want a button on each row, so that i can update relevant informaiton on that row into sql. Can be any methods !

Member Avatar
six_sic6
Light Poster
34 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 5 [?]
Skill Endorsements: 0 [?]
 
0
 

Here is the code for button on each row

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="test_mysql1"; // Table name
 
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
 
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
 
 
<form id="form" name="form" method="post" action="confirm.php">
<table border='1' cellspacing='0' width='612' id='yourTbl'>
  <tr>
    <th bgcolor='green'><font color='white'>#</font></th>
    <th bgcolor='green'><font color='white'>Id</font></th>
    <th bgcolor='green'><font color='white'>Name</font></th>
    <th bgcolor='green'><font color='white'>Lastname</font></th>
    <th bgcolor='green'><font color='white'>Email</font></th>
  </tr>
  <?php
      $i = 0;
      $number = 0;
      while($row = mysql_fetch_array($result))
      {
 
        $number++; 
        $i++;
        if($i%2)
        {
            $bg_color = "#EEEEEE";
        }
        else 
        {
             $bg_color = "#E0E0E0";
        }   
   ?>
        <tr bgcolor=<?php echo $bg_color; ?> >  
            <td><center><Strong><font color='red'><?php echo $row['id']; ?></font></Strong></center></td>
            <td><center><Strong><?php echo $row['name']; ?></Strong></center></td>
            <td><center><Strong><?php echo $row['lastname']; ?></Strong></center></td>
            <td><center><Strong><?php echo $row['email']; ?></Strong> &nbsp;&nbsp;&nbsp;
            <td><input name="btn" type="button" id="<?php echo $row['id']; ?>" value="Confrim" onlclick="yourEvent(this);">&nbsp;</center></td>
        </tr>
<?php 
      } 
 ?>
</table>
</form>

<script type="text/javascript">
function yourEvent(btnClick)
{
   var table = document.getElementById('yourTbl');
   var rowCount = table.rows.length; 
   var data;
   for(var i=0; i<rowCount; i++) 
   {
		 var row = table.rows[i];
		 var chkbox = row.cells[4].childNodes[0];
		 if(chkbox == btnClick)
                 {
		       data = table.rows[i].cells[1].innerHTML;	
                       break;
                 }
   } 
   alert(data);
}
</script>

Suppose you clikced for 3rd row. This will pop up the data of 2nd colum of 3rd row.
Give me a reply whether it helped you or not.

Member Avatar
ayesha789
Posting Pro in Training
495 posts since Jun 2009
Reputation Points: 7 [?]
Q&As Helped to Solve: 7 [?]
Skill Endorsements: 5 [?]
 
0
 

also check this

<?php
  header("Cache-Control: no-cache, no-store,must-revalidate");
  $server="localhost";
  $user="root";
  $pass="root";
  $database="jaydb";
?>
<script type="text/javascript">
    function doit() {
        s="";
        v="";
 
        for(i=0;i<f2.length;i++) {
          if(f2[i].delcheck!=null) {
             if(f2[i].delcheck.checked==true) {
                 v=f2[i].delcheck.value;
                if(s.length==0)
                   s=s + v;
                else
                   s= s + "," + v;
              }
            }
        }
      open("delit.php?id=" + s,"_self");
    }
</script>
<?  
   $cmd=$_POST["cmd"];
   $eno=$_POST["eno"];
   $ename=$_POST["ename"];
   $edate=$_POST["edate"];
    $Longitude=$_POST["Longitude"];
	$Lat=$_POST["Lat"];
	$Address=$_POST["Address"];
	$Region=$_POST["Region"];
	$City=$_POST["City"];
	$MaintainedBy=$_POST["MaintainedBy"];
	$StatusNopatPat=$_POST["StatusNopatPat"];
	$Priority=$_POST["Priority"];
 
   # Connect to database
   $cn=mysql_connect($server,$user,$pass);
   if(!$cn) {
       die ("<br/>DB not connnected : " . mysql_error()); 
    }
   # Select a database	
   $db=mysql_select_db($database,$cn);
	if(!$db)
	   die(mysql_error() . "  " . mysql_errno());
 
 if(isset($cmd,$eno))
     {
# --- When edit button press --------
         if($cmd=="Edit") {
 
	  $res = mysql_query("SELECT * FROM Info
WHERE SiteId='$eno' ");
 
	  $r=mysql_fetch_row($res);
print<<<TTT
<form method="post" name='f1' action="editdelete.php">
<br/>SiteID <input type="text" name="eno"  value="$r[0]"  />
<br/>Alias <input type="text" name="ename" value="$r[1]"/>
<br/>Code <input type="text" name="edate" value="$r[2]"/>
<br/>Long <input type="text" name="Longitude" value="$r[3]"/>
<br/>Lat <input type="text" name="Lat" value="$r[4]"/>
<br/>Address <input type="text" name="Address" value="$r[5]"/>
<br/>Region <input type="text" name="Region" value="$r[6]"/>
<br/>City <input type="text" name="City" value="$r[7]"/>
<br/>Maintained By<input type="text" name="MaintainedBy" value="$r[9]"/>
<br/>PAT Status<input type="text" name="StatusNopatPat" value="$r[10]"/>
<br/>Priority<input type="text" name="Priority" value="$r[15]"/>
<br/><input type="submit" name="cmd" value="Update"/>
<input type="submit" name="cmd" value="Cancel"/>
<hr/>
</form>     
TTT;
}
 # -- Delete a record --
   if($cmd=="Delete") 
   {  
     foreach($_POST["delcheck"] as $delid) {
       $sql ="delete FROM Info WHERE SiteId='$delid'";
       mysql_query($sql);
      }
    }
 
 # -- Update a record --
  if($cmd=="Update") {
 /* $sql = mysql_query("UPDATE Info SET 
 
Alias='$ename',Code='$edate',Longitude='$Longitude',Lat='$Lat' where  
               SiteID='$eno' ");*/
$query=mysql_query("update Info set 
 
alias='$ename',code='$edate',Longitude='$Longitude',Lat='$Lat',Address='$Addr
 
ess',Region='$Region',City='$City',MaintainedBy='$MaintainedBy',StatusNopatPa
 
t='$StatusNopatPat',Priority='$Priority' where siteid='$eno'");
 
           echo "Record updated";
    }
}    
 
   # -- Show the list  - Grid
	$sql="select * from Info";
	$res=mysql_query($sql,$cn);
	if(!$res)
	   die ("<br/>" . mysql_error());
 
	 print "<table cellpadding=1 cellspacing=1 width=100% 
 
style=font-size:12px>";
print "<tr><th bgcolor=#5D9BCC>SiteID</th bgcolor=#5D9BCC><th 
 
bgcolor=#5D9BCC>Alias</th><th bgcolor=#5D9BCC>Code</th><th 
 
bgcolor=#5D9BCC>Long</th><th bgcolor=#5D9BCC>Lat</th><th 
 
bgcolor=#5D9BCC>Address</th><th bgcolor=#5D9BCC>Region</th><th 
 
bgcolor=#5D9BCC>City</th><th bgcolor=#5D9BCC>Maintained By</th><th 
 
bgcolor=#5D9BCC>PAT Status</th><th bgcolor=#5D9BCC>Priority</th><th 
 
bgcolor=#5D9BCC>Action</th></tr>";
 
	 while($r=mysql_fetch_array($res))
	   {
	     print "<tr bgcolor=#FEE9A9><form method='post' 
 
action='editdelete.php' name='f2' >";
	     print 
 
"<td>$r[0]</td><td>$r[1]</td><td>$r[2]</td><td>$r[3]</td><td>$r[4]</td><td>$r
 
[5]</td><td>$r[6]</td><td>$r[7]</td><td>$r[9]</td><td>$r[10]</td><td>$r[15]</
 
td><td>";
print "<input type='checkbox'
               name='delcheck'
               value='$r[0]'/>";
		 print "<input type='hidden' value='$r[0]' name='eno'/>";
		 print "<input type='submit' name='cmd' value='Edit'/>";
        print "<input type='hidden' name='cmd' value=''/>";
      print "</td></form></tr>";				 
	   }
	 print "</table>";  
      mysql_close($cn);
?>	
 
 
<button onclick="doit()">Delete</button>
Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Thanks all, but the code are too difficult to me and i don't know any javascript!

<td width ='7%'><center><font size='2' face='arial'>&nbsp;<?php echo $row['Status']; ?></font>&nbsp;&nbsp;<input name="accept" type="submit" id="<?php echo $row['id']; ?>" value="Accept"></center></td>

I still want to keep using the submit button! after pressing the submit button (on every row), then go to confirm.php. Then the submit buton can be identified. e.g. id='12' and then update the database!

if(isset($_POST['accept'])) {       
               
      mysql_query("UPDATE table SET Status = 'Confirmed' WHERE id = $id");
                                 
    }

I just don't know how to write the submit button with the unique id or name, so that i can update the database!

Member Avatar
MagicMedia
Junior Poster
148 posts since Jul 2010
Reputation Points: 10 [?]
Q&As Helped to Solve: 35 [?]
Skill Endorsements: 0 [?]
 
0
 

You can't set anything to a submit button. You have to put the id in an actual input field. If you don't want to change it, put it in a hidden field.

<input type="hidden" name="id" value="<?php echo $id; ?>" />
Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

That mean no solution?

Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Sorry i don't know how to use!

Member Avatar
cliffcc
Junior Poster
100 posts since Feb 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Anyone can help? Thanks!

Member Avatar
RationalRabbit
Newbie Poster
4 posts since Nov 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

One way to do this, using strictly PHP is to loop through the POST vars.
I am assuming you don't want to use a simple href (href + query string and you can provide any info you want to your script)

Wrap your table in a form.
Say, for instance, the process you want to do is a deletion.
As you are putting your rows together, enter your input something like so:
echo('<input name="Delete' . $Row[ID] . '" type="submit" value="Delete" /> etc ...
If you are submitting to the same page (such as action="<?=$_SERVER[PHP_SELF]?>", at the bottom of your form, create a hidden field named "Process".
Then, when you submit your form, you can check for if(!empty($_POST) and then do this:

foreach($_POST as $key => $value)
{
   if(substr($key,0,6) == "Delete")
   {
      $ID = substr($key,6);
      break;
   }

}
Thus, you have you ID for processing, without having to place it in the value of the button.

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article