2015-05-20 53 views
2

我正在爲通知編輯按鈕,但編輯它時,所有通知都會更改。我只想編輯特定的ID。這裏是我的代碼:使用特定編號編輯數據

<?php 
    if(mysql_num_rows($query_announcement) > 0) 
    { 
     $row = mysql_num_rows($query_announcement); 
     for($x = 1; $x<= $row; $x++){ 

      $get_announcement= mysql_fetch_assoc($query_announcement); 
      $html = '<tr>'; 
      $html .= '<td>'.$get_announcement['id'].'</td>'; 
      $html .= '<td>'.$get_announcement['announce_name'].'</td>'; 
      $html .= '<td>'.$get_announcement['announce_description'].'</td>'; 
      $html .= '<td>'.$get_announcement['announce_location'].'</td>'; 
      $html .= '<td>'.date('M d,Y', strtotime($get_announcement['date_start'])).'</td>'; 
      $html .= '<td>'.$get_announcement['date_end'].'</td>'; 
      $html .= '<td>'.date('M d,Y', strtotime($get_announcement['date_added'])).'</td>'; 
      $html .= '<td width="15%"> 

       <button type="button" data-toggle="modal" data-target="#modal_addAnnouncementEdit" class="btn btn-default" title="Edit"><span class="fa fa-pencil"></span></button> 
       <button type="button"class="btn btn-default" title="Delete" ><span class="fa fa-trash-o"></span></button> 

      </td>'; 
      $html .= '</tr>'; 

      echo $html; 
     } 
    } 
    else 
    { 
     echo '<tr><td colspan="8" align="center"><h3>No Announcement</h3></td></tr>'; 
    } 
    ?> 

編輯MODAL:

<div class="modal fade" role="dialog" id="modal_addAnnouncementEdit" aria-labelledby="gridSystemModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
      <h4 class="modal-title" id="gridSystemModalLabel"><span class="fa fa-bullhorn fa-fw fa-lg"></span> Edit Announcement</h4> 
     </div> 
     <div class="modal-body"> 
      <form class="form-horizontal" id="form_addAnnouncementEdit"> 
       <div class="form-group"> 
        <label for="" class="col-sm-3 control-label">Title:</label> 
        <div class="col-sm-7"> 

         <input type="text" class="form-control" id="addAnnouncement_title_edit" name="addAnnouncement_title_edit" placeholder="Title"> 
        </div> 
        </div> 

        <div class="form-group"> 
        <label for="" class="col-sm-3 control-label">Description:</label> 
        <div class="col-sm-7"> 
         <input type="text" class="form-control" id="addAnnouncement_description_edit" name="addAnnouncement_description_edit" placeholder="Description"> 
        </div> 
        </div> 

        <div class="form-group"> 
        <label for="" class="col-sm-3 control-label">Location:</label> 
        <div class="col-sm-7"> 
         <input type="text" class="form-control" id="addAnnouncement_location_edit" name="addAnnouncement_location_edit" placeholder="Location"> 
        </div> 
        </div> 

        <div class="form-group"> 
        <label for="" class="col-sm-3 control-label">Date Start:</label> 
        <div class="col-sm-7"> 
         <input type="text" class="datepicker" id="addAnnouncement_dateStart_edit" name="addAnnouncement_dateStart_edit" placeholder="Date Start"> 
        </div> 
        </div> 

        <div class="form-group"> 
        <label for="" class="col-sm-3 control-label">Time:</label> 
        <div class="col-sm-7"> 
         <input type="text" class="form-control" id="addAnnouncement_dateEnd_edit" name="addAnnouncement_dateEnd_edit" placeholder="Time"> 
        </div> 
        </div> 
      </form> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      <button type="button" class="btn btn-primary" id="addAnnouncement_save_submit" name="addAnnouncement_save_submit" >Save Changes</button> 
     </div> 
     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

MY更新查詢:

<?php 
require"../includes/library/DB.php"; 

$title = $_POST['addAnnouncement_title_edit']; 
$description = $_POST['addAnnouncement_description_edit']; 
$location = $_POST['addAnnouncement_location_edit']; 
$date_start = $_POST['addAnnouncement_dateStart_edit']; 
$date_end = $_POST['addAnnouncement_dateEnd_edit']; 
$date_created = date("Y-m-d H:i:s"); 
$query_announcement = mysql_query("SELECT * FROM announcement"); 
$get_announcement = mysql_fetch_assoc($query_announcement); 
$insert_announcement = mysql_query("UPDATE `loanapplicationform`.`announcement` SET `announce_name` = '$title', `announce_description` = '$description', `announce_location` = '$location', 
`date_start` = '$date_start', `date_end` = '$date_end' WHERE `announcement`.`id`=`$id`"); 

?> 

請幫助我謝謝您的回答,我會很感激

+0

你需要使用一個變量,而不是你的'where'子句中的'id'列,這就是爲什麼它的更新整個「id」列。通常有一個隱藏屬性 –

+0

我已經將其更改爲$ id,。$ get_announcement ['id']但它不起作用。 @ Fred-ii- –

+0

你沒有分配任何東西給它。 '$ id =「?」;'例如。 –

回答

0

在你的MY UPDATE QUERY部分,你需要定義$id

這是您的查詢:

$insert_announcement = mysql_query("UPDATE  
`loanapplicationform`.`announcement` SET `announce_name` = '$title', 
`announce_description` = '$description', `announce_location` = '$location', 
`date_start` = '$date_start', `date_end` = '$date_end' WHERE 
`announcement`.`id`=`$id`"); 

當執行它,它不知道什麼$id是。因此,它會將您的WHERE子句爲

...WHERE `announcement`.`id`= 

而不是

...WHERE `announcement`.`id`='abc12345' 

而當你只是簡單地用$get_announcement['id']取代$id將無法​​正常工作,因爲$get_announcement['id']只包含你的循環中值。

您需要定義$id你定義的所有其他變量,例如:

$id = $_POST['addAnnouncement_id_edit']; 

$title = $_POST['addAnnouncement_title_edit']; 
$description = $_POST['addAnnouncement_description_edit']; 
... 
...