0

好的,我有一个设置为显示从数据库中提取的信息的表。

在这张表的最后,我有一个更新按钮。我正在使用引导程序,当您单击此按钮时,您会打开一个带有表单的模式,我希望将特定行中的值传递到表单中,以便用户可以编辑信息。

该表是这样生成的:

<?php
                $con=mysqli_connect("50.63.106.181","TheGreenPandaWeb","MacBook1!","TheGreenPandaWeb");
                // Check connection
                if (mysqli_connect_errno())
                  {
                  echo "Failed to connect to MySQL: " . mysqli_connect_error();
                  }

                $query = "SELECT * FROM affiliate_tasks WHERE username = '$_SESSION[username]'";

                if( isset($_POST['sort-selection']) && $_POST['sort-selection'] != 'all' ) 
                {
                    $query .= " AND status = '". $_POST['sort-selection']."';" ;
                }

                $result = mysqli_query($con, $query);

                echo "<table class='table table-message table-hover'>
                <tr class='heading'>
                <td class='cell-title'>Tasks</td> 
                <td class='cell-status hidden-phone hidden-tablet'>Status</td> 
                <td class='cell-time align-right'>Due Date</td>
                <td class='check-box' width='10px'>&nbsp;</td>
                <td class='check-box' width='10px'>&nbsp;</td>
                </tr>";

                while($row = mysqli_fetch_array($result))
                  {
                  echo "<tr class='task " . ($row['resolved'] == 1 ? 'resolved' : '') . "' id='task-$row[task_id]'>";
                  echo "<td class='cell-ttle'>" . $row['task_name'] . "</td>";
                  echo "<td class='cell-status hidden-phone hidden-tablet " . ($row['status'] == Done ? 'text-success' : '') ." " . ($row['status'] == Overdue ? 'text-warning' : '') ."'>"  . $row['status'] . "</td>";
                  echo "<td class='cell-time align-right'>" . $row['due_date'] . "</td>";
                  echo "<td class='check-box' width='10px'>" . "<a class='icon-arrow-up' href='#updateTaskModal' role='button' data-toggle='modal'></a>" . "</td>";
                  echo "<td class='check-box' width='10px'>" . "<a class='icon-remove' href='#deleteTaskModal' role='button' data-toggle='modal'></a>" . "</td>";
                  echo "</tr>";
                  }
                echo "</table>";

                mysqli_close($con);
            ?>

表格看起来像这样:

<form class="form-horizontal" name="new_task" action="scripts/form_scripts/new_task.php" method="post"> 
            <div class="control-group">
                <div class="controls">
                    <input type="text" name="username" id="username" class="hide" value="<?php session_start(); echo $_SESSION[username]; ?>">
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="task_name">Task Name</label>
                <div class="controls">
                    <input type="text" name="task_name" id="task_name" placeholder="Something with description.">
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="status">Task Status</label>
                <div class="controls">
                    <select id="status" name="status">
                        <option value="Pending">Pending</option>
                        <option value="In Progress">In Progress</option>
                        <option value="Done">Done</option>
                    </select>
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="due_date">Due Date</label>
                <div class="controls">
                    <input type="date" name="due_date" id="due_date" placeholder="mm/dd/yyyy">
                </div>
            </div>

我想您将需要 javascript,但我不确定从哪里开始。

4

2 回答 2

2

这就是我会做的事情......给a标签一个“更新”类,并在标签中填充一些数据属性,如下所示。

echo "<a class='icon-arrow-up update' href='#updateTaskModal' data-status='".$row['status']."'  data-name='".$row['task_name']."' data-date='".$row['due_date']."' role='button' data-toggle='modal'></a>";

然后你的 Jquery 将如下所示..

$(document).ready(function(){

 $('a.update').click(function(){
   var name = $(this).data('name');
   var date = $(this).data('date');
   var status = $(this).data('status');    

   $('#task_name').val(name);
   $('#status').val(status);
   $('#due_date').val(date);
    });

 });

理想情况下,您会将此代码集成到模态回调中.....不过,我对 twitter 引导程序不太熟悉,所以我会让您弄清楚那部分

PS完全未经测试的代码,只是在这里为您提供一个想法......我相信您可以从这里弄清楚。:)

于 2013-06-08T07:20:09.030 回答
0

在这里,您可以使用 graybox 或 fancybox,您可以在 url 上传递您的值。然后您将能够在被调用页面中检索这些值。

于 2013-06-08T07:39:25.150 回答