2014-09-29 52 views
0

我有一個網站,管理員登錄後可以編輯顯示在他的個人資料上的「便利設施」列表。我用下面的代碼創建了一個簡單的表格,用來顯示設施。需要在引導程序中使用模式編輯表格的一行

<?php 
$con=mysqli_connect("abc.com","abc","abc","abc");// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
$result = mysqli_query($con,"SELECT * FROM amenities"); 
echo "<table class='table table-striped table-bordered table-hover'> 
<thead> 
    <tr> 
    <th>amenities</th> 
    <th>edit</th> 
    </tr> 
</thead>"; 
while($row = mysqli_fetch_array($result)) 
    { 
    echo "<tbody data-link='row' class='rowlink'>"; 
    echo "<tr>"; 
    echo "<td>" . $row['amenities'] . "</td>"; 
    echo "<td> <a href='#edit' data-toggle='modal'> edit </a> </td>"; 
    echo "</tr>"; 
    echo "</tbody>";  
    } 
    echo "</table>"; 
    mysqli_close($con); 
?> 

隨着列表我試圖合併編輯按鈕後面的模式。該顯示錶的頁面的觀點是:

id amenities edit 
1  amenities1 edit 
2  amenities2 edit 

當在特定的編輯按鈕,管理員點擊(例如:放置在amenities1前面的編輯​​按鈕)一個模式被顯示,將允許管理員只編輯該設施(在我們的情況下,它amenities1)用於模態

代碼是在窗體的後端(edit_amenities.php)的作品

<div class = "modal fade" id="edit" role="dialog"> 
    <div class = "modal-dialog"> 
     <div class = "modal-content"> 
      <div class = "modal-header"> 
       <h4> Edit Page </h4> 
      </div> 

      <div class="modal-body"> 
       <form role="form" action="edit_amenities.php" method="post"> 
        <div class="form-group"> 
         <label for="exampleInputEmail1">Name of Amenities</label> 
          <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email" name="amenities"> 
        </div> 

        <input name="submit" type="submit" value=" Save ">    
       </form> 
      </div> 

      <div class="modal-footer"> 
       <a class="btn btn-primary" data-dismiss="modal"> Close </a> 
      </div> 
     </div> 
    </div> 
</div> 

代碼是:

<?php 
include('admin_session.php'); 

$con=mysqli_connect("abc","abc","abc","abc"); 
// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$password = mysqli_real_escape_string($con, $_POST['amenities']); 

$sql = "UPDATE amenities SET amenities='".$amenities."' where id='".$id."'"; 

if (!mysqli_query($con,$sql)) { 
    die('Error: ' . mysqli_error($con)); 
} 
header("Location: admin_amenities.php"); 
exit; 

mysqli_close($con); 
?> 

查看的數據庫是

id amenities 
1  q 
2  a 

我想什麼是模態打開時,管理員可以輸入新的名稱和替換舊名稱,並保存在數據庫中。但是我無法實現它。將不勝感激,如果有人可以幫助我

回答

0

你爲什麼不使用這樣的事情,只是一個例子:

<div class="modal-body"> 
    <form action="edit_amenities.php" method="post"> 
    <div class="form-group"> 
     <label for="exampleInputEmail1">Name of Amenities</label> 
     <input type="text" class="form-control" name="update[amenities]"> 
    </div> 

    <input name="submit" type="submit" value=" Save ">    
    </form> 
</div> 

和PHP:

if ($this->getRequest()->isPost()) { 
    $post = $this->getRequest()->getPost(); 
} 

$amenitie = $this->amenitie->fetchRow(
    $this->amenitie->select()->where('id = ?', $this->params['id']) 
); 
if ($amenitie) { 
    foreach ($post['update'] as $key => $val) { 
    $amenitie->{$key} = $val; 
    } 

    $amenitie->save(); 
} 

編輯:在您的例子:

$sql = "UPDATE amenities SET amenities='".$amenities."'"; 

使用WHERE,並在輸入字段中給出要更新的設備的ID。

+0

當我使用這個,我得到一個錯誤致命錯誤:當不在對象上下文中使用$ this – user3732711 2014-09-29 10:56:52

+0

當然,因爲你可能沒有使用任何MVC。這只是Zend Framework中的一個例子。 – Matheno 2014-09-29 10:58:58

+0

我添加了更新 – Matheno 2014-09-29 11:00:32

相關問題