2015-05-20 2 views
2

У меня есть кнопка редактирования для объявления, но когда я ее редактирую, все объявления меняются. Я хочу изменить только конкретный идентификатор. Вот мой код:Редактировать данные с определенным идентификатором

<?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>'; 
    } 
    ?> 

EDIT 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 --> 

МОЯ UPDATE QUERY:

<?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

вам необходимо использовать переменную, а не 'id' столбца в' where' статье, поэтому это обновление вашего весь столбец '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 `announcement`.`id`= 

Вместо

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

И когда вы просто заменить $id с $get_announcement['id'] не будет работать, потому что $get_announcement['id'] содержат только значение в пределах вашего цикла.

Вам нужно определить $id где можно определить все другие переменные, например:

$id = $_POST['addAnnouncement_id_edit']; 

$title = $_POST['addAnnouncement_title_edit']; 
$description = $_POST['addAnnouncement_description_edit']; 
... 
... 
Смежные вопросы