PHP从gridview编辑行

时间:2013-08-12 13:34:11

标签: php javascript mysql gridview edit

我的php函数运行查询并在网格中显示数据。我已经附加了一个按钮,如果用户要编辑特定行,则该按钮将被单击。该行的数据是从名为mytable的数据库表中调用的,主列是pk_tId。

我正在试图弄清楚如何拉出被点击的行并在引导模态窗口中显示行数据。

所有这些代码都在一个名为edit.php的文件中。我将尝试弄清楚如何将其删除并放入不同的文件以便稍后包含,但同时,一切都在这一个文件中。

在edit.php文件中,我将数据库连接包含在页面顶部附近。我真的希望你不需要看到它。只知道我与数据库有稳定的连接。

我之前被要求显示所有代码,所以我们开始......从php函数开始:

 <?php
 function displayrecords(){
   $groups = $_POST['mygroup'];
   $type = $_POST['mytype'];
   $service = $_POST['myservice'];
   $sql_json = "SELECT * FROM mytable";
   $where = "";
   if ($groups != ""){
       $where = " `mygroup` = '".mysql_real_escape_string($groups)."'";
     }
   if($type != ""){
     if( $where != "" ) $where .= " AND ";
     $where .= " `mytype` = '".mysql_real_escape_string($type)."'";
   }
   if($service != ""){  
     if( $where != "" ) $where .= " AND ";
     $where .= " `myservice` = '".mysql_real_escape_string($service)."'";
   }
   if ($where != "") $sql_json = $sql_json . " WHERE " . $where . " AND delete_flag = 'N';";
   $QueryResult = @mysql_query($sql_json) or die (mysql_error());
     echo "<table class='table table-striped table-bordered table-hover'>\n";
     echo "<tr><th>Delete/Edit</th>" . "<th>Group</th><th>Type</th>" . "<th>Service</th>" . "<th>Description</th></tr>\n";
     while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE) {
     echo "<tr><td><a class=\"modalInput btn btn-primary btn-mini\" data-toggle=\"modal\" href=\"#myEditModal?". $Row['pk_tId'] ."\" \">Delete/Edit</a></td>";
     echo "<td>{$Row[mygroup]}</td>";
     echo "<td>{$Row[mytype]}</td>";
     echo "<td>{$Row[myservice]}</td>";
     echo "<td>{$Row[mydescription]}</td></tr>\n";
     };
     echo "</table>\n";
     if (mysql_num_rows($QueryResult) == 0){
       echo "No results";
     }
 }
 ?>

很抱歉,如果这是很多代码,但有人建议我包含所有代码。这是我在php代码中添加了Edit按钮的地方。我想这就是一切开始的地方:

 echo "<tr><td><a class=\"modalInput btn btn-primary btn-mini\" data-toggle=\"modal\" href=\"#myEditModal?". $Row['pk_tId'] ."\" \">Delete/Edit</a></td>";

以下是需要将行数据拉入的模态窗口:

 <div class="modal hide fade" id="myEditModal" tabindex="-1" role="dialog" aria-labelleby="myModalLabel" aria-hidden="true">
    <form class="well-small" action="edit.php" method="POST" id="modalForm" name="modalForm">
       <input type="text" id="group" name="group" value="<?php echo $selection[mygroup]; ?>" />
       <input type="text" id="type" name="type" value="<?php echo $selection[mytype]; ?>" /> 
       <input type="text" id="service" name="service" value="<?php echo $selection[myservice]; ?>" /> 
       <textarea rows="4" cols="20" id="description" name="description" value="<?php echo $selection[mydescription]; ?>"></textarea> 
       <input type="submit" id="modal-form-submit" name="submit" class="btn btn-primary" href="#" value="Update" />
       <input type="submit" id="modal-form-submit" name="submit" class="btn btn-primary" href="#" value="Delete" /> 
    </form>
 </div>

我知道我需要一个javascript函数,所以我尝试在header标签内的edit.php页面顶部使用它:

 <script type="application/javascript">
   $(".modalInput").on("click", function(e) {
   var detailURL;
   e.preventDefault();
   detailURL = $(this).attr("href");
   $('#myEditModal').load(detailURL, function(){
   });
   });
 </script>

我确定javascript代码需要一些工作。

对于我的所有网络开发人员,我需要你的帮助。我需要完成这个应用程序,这可能是我需要工作的最后一段代码。请忽略任何拼写错误,缺少括号或不匹配的变量。代码工作,除了能够将数据加载到模态窗口。

另外,我知道我可以使用ajax,但暂时,我只需要使用php,javascript和mysql。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

你的权利很多代码,我注意到我确实全神贯注,但是你创建了一个ID为myEditModal的div吗? 我看不到一个。

jQuery中还有2个.load函数,调用的函数取决于函数调用的参数。我认为您可能有一组错误的参数用于您要运行的.load。