如何通过单击切换显示的数据库字段

时间:2015-10-22 11:12:02

标签: php

我有一个数据库表,其中一个特定值是YesNo的值,由复选标记图标或X表示。

database display

我希望能够通过单击而不是用户单击图标的当前工作流来切换此值,然后将它们定向到更新页面,在这里他们切换值然后更新。

current update page

值为“是”或“否”。我只想点击它,将值更改为实时相反的值而不刷新。 谢谢

以下是显示数据库的部分代码,字段名称称为'输入'

<?php
include "db.inc.php";

if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
$start_from = ($page-1) * 15; 
$sql = "SELECT * FROM ircb ORDER BY id DESC LIMIT $start_from, 15";

$rs_result = mysql_query ($sql);
$num_rows = mysql_num_rows($rs_result);
$query = mysql_query("SELECT * FROM ircb"); 
$number=mysql_num_rows($query);

while($rows=mysql_fetch_array($rs_result)){ 

<tr bgcolor='#9B9D9F'>
<td><?= $rows['totalt'] ?></td>
       <td><?= $rows['service'] ?></td>
       <td><?= $rows['item'] ?></td>
       <td align="center">
           <a href="edit_form1.php?id=<?= $rows['id'] ?>">
               <img src="backgrounds/bg/<?= $rows['enter'] ?>.png"     border="0">
           </a>
       </td>
</tr>

edit.form1

  <form method="post" action="update1.php">
  <input type="hidden" name="id" value=<?php echo "$row[id]"?>">


   <tr>
      <td>Entered</td>
      <td>
        <input type="radio" name="enter"  
      value=Yes>Yes<input type="radio" name="enter" value=No checked>No
      </td>
    </tr>
   <hr />
    <tr style="height: 20px"><td></td></tr>
    <tr> 

      <td align="right">
        <input class="button" type="submit" 
       value="Update">
      </td>

1 个答案:

答案 0 :(得分:0)

您遇到的问题似乎是因为您正在重定向到具有执行更新的表单的页面。您可以直接使用链接来执行操作,而不是使用表单。最好的方法是让href引导到显示表的完全相同的页面,但添加查询参数以告诉脚本切换所需的行。

<a href="MY_TABLE.php?toggle_id=<?= $rows['id'] ?>"></a>

使用此功能,您可以在查询数据库以显示表格之前检入PHP:

if($_GET['toggle_id']){
    //$_GET['toggle_id'] = the ID of the line to modify
    //Use the same script as the form handler
}

因此,不是等待YES或NO的值,而是使用当前值自行计算出来:

 $nextValue = $currentValue=='NO'?'YES':'NO';

这应涵盖大部分逻辑。