为提交按钮提供唯一值

时间:2014-11-12 05:16:27

标签: php sql

在我的表中,每一行都有一个带有提交按钮的单元格。

这是我的代码

    <?php

 # Init the MySQL Connection
  mysql_connect("localhost", "root", "") or die(mysql_error()) ; 
 mysql_select_db("selfie") or die(mysql_error()) ; 

 # Prepare the SELECT Query
  $selectSQL = 'SELECT * FROM `image_upload`  INNER JOIN user_table
ON image_upload.user_id=user_table.user_id WHERE flag="0" ORDER BY timestamp DESC';
 # Execute the SELECT Query
  if( !( $selectRes = mysql_query( $selectSQL ) ) ){
    echo 'Retrieval of data from Database Failed - #'.mysql_errno().': '.mysql_error();
   }else{
    ?>
<table border="2">

  <thead id="head">
    <tr>
      <th id="head">User name</th>
      <th>Category</th>
      <th>Description</th>
      <th>Image</th>
      <th>Location</th>
      <th>Status</th>
    </tr>
  </thead>
  <tbody>
    <?php

    if (isset($_GET['submit'])) {

                        $mobile = $_GET['dmobile'];

                        $query = mysql_query("update image_upload set
  flag='$mobile' " );
                    }

                    if (isset($_GET['submit'])) {
                   header("Location: imageManagement.php");
                   }
        if( mysql_num_rows( $selectRes )==0 ){
        echo '<tr><td colspan="4">No Rows Returned</td></tr>';
      }else{
        while( $row = mysql_fetch_assoc( $selectRes ) ){
          echo "<tr>
             <td>{$row['user_name']}</td>
             <td>{$row['category']}</td>
             <td>{$row['description']}</td>
             <td ><img src='uploads/".$row['image']."'width=300px height=200px></td>
             <td>{$row['location']}</td>
             <td><form class=\"form\" method=\"get\"><label></label><br/>
             <input class=\"input\" type=\"text\" name=\"dmobile\" value=\"    {$row['flag']}\" />
           <br>
           <input class=\"submit\" type=\"submit\" name=\"submit\" value=\"update\" />
          </form></td>
          </tr>\n";
            }
      }
    ?>
  </tbody>
</table>
    <?php

在此处进行更改并单击一行的提交按钮时,每行都会更新。如何为每个提交按钮赋予唯一值。

2 个答案:

答案 0 :(得分:2)

评论回答,因为OP说它有效。

OP:&#34;它的工作。非常感谢.... :) - Lanka&#34;


将此添加到您的表单:

<input type=\"hidden\" name=\"the_id\" value=\"{$row['id']}\" />

然后添加:

$theid = $_POST['the_id'];

然后,

$query = mysql_query("update image_upload set flag='$mobile'  
WHERE id = '$theid' " );

你可能需要在隐藏的输入中稍微玩一下。

这是基于&#34; id&#34;当然是专栏。


<强> N.B

  • 您应验证用户输入(即使它是隐藏字段)

使用mysqli with prepared statementsPDO with prepared statements他们更安全

按照目前的情况,您使用的是不推荐使用的MySQL库,让您可以使用SQL injection

答案 1 :(得分:0)

else{
    $counter=0 ;
    while( $row = mysql_fetch_assoc( $selectRes ) ){
      $value="Update ".$counter ;
      $counter++ ;
      echo "<tr>
         <td>{$row['user_name']}</td>
         <td>{$row['category']}</td>
         <td>{$row['description']}</td>
         <td ><img src='uploads/".$row['image']."'width=300px height=200px></td>
         <td>{$row['location']}</td>
         <td><form class=\"form\" method=\"get\"><label></label><br/>
         <input class=\"input\" type=\"text\" name=\"dmobile\" value=\"    {$row['flag']}\" />
       <br>
       <input class=\"submit\" type=\"submit\" name=\"submit\" value=\"".$value."\" />
      </form></td>
      </tr>\n";
        }
  }

我认为这个问题没有明确的框架,但是用上面的代码替换代码的else部分,你会得到不同的提交按钮值,即更新0,更新1等等。希望这会有所帮助。