2017-12-22 3 views
0

Ich bin neu in CodeIgniter. Ich habe Daten von MySQL abgerufen und in einer HTML-Tabelle angezeigt. Jetzt muss ich ausgewählte Zeilen in MySQL löschen.Wie kann ich eine ausgewählte Zeile in einer HTML-Tabelle und auch in MySQL mit CodeIgniter löschen?

Angenommen, es gibt 10 Zeilen in der Tabelle und jede Zeile hat ein Kontrollkästchen, und es gibt eine Schaltfläche Löschen über der Tabelle. Wenn der Benutzer die ersten fünf Zeilen auswählt und auf die Schaltfläche Löschen klickt, sollten die fünf Zeilen in der MySQL-Datenbank gelöscht werden. Dann werden die HTML-Tabellendaten diese Zeilen automatisch ausblenden, weil ich Daten aus MYSQL-Tabelle abgerufen habe.

Wie kann das gemacht werden?

HTML-Code:

<div class="table-responsive"> 
    <button id="export" data-export="export">Export</button> 
    <table id="export_table" class="table table-bordered"> 
     <tr> 
      <th class="text-center">Created At</th> 
      <th class="text-center">Title</th> 
      <th class="text-center">Description</th> 
      <th class="text-center">Prority</th> 
      <th class="text-center">Status</th> 
      <th class="text-center">Start Date</th> 
      <th class="text-center">Due Date</th> 
      <th class="text-center">End Date</th> 
      <th class="text-center">By</th> 
      <th class="text-center">Additional Info</th> 
     </tr> 
     <?php foreach ($a->result() as $task) { ?>  
     <tr class="active"> 
      <td><?php echo $task->time; ?></td> 
      <td><?php echo $task->title; ?></td> 
      <td><?php echo $task->description; ?></td> 
      <td><?php echo $task->priority; ?></td> 
      <td><?php echo $task->status; ?></td> 
      <td><?php echo $task->start_date; ?></td> 
      <td><?php echo $task->due_date; ?></td>  
      <td><?php echo $task->end_date; ?></td> 
      <td><?php echo $task->assigned_by; ?></td> 
      <td><?php echo $task->additional_info; ?></td> 
     </tr> 
     <?php } ?> 
    </table> 
</div> 

Controller-Code:

public function user_profile() { 
    $this->load->model('user_model');  
    $data['a']=$this->user_model->all(); 
    $this->load->view('user_profile', $data); 
} 

Model Code:

public function all() { 
    $query = $this->db->get('issues'); 
    return $query; 
} 
+0

Der Schlüssel ist, können Sie das Kontrollkästchen hinzufügen zuerst auf dem Tisch, und dann stellen Sie sicher, dass Sie eine ID für die Tabelle haben, cretae versteckten Eingang in jeder Zeile und setzen Sie den Wert Mit der ID benötigen Sie Javascript oder jquery, um den aktivierten Status des Kontrollkästchens zu überprüfen. Wenn es sich um diesen Status handelt, können Sie diese Wert-ID an den Controller senden, den Create Inside-Controller eine Funktion, um die Löschaktion zu bearbeiten. die IDs, die du sendest, sind die Parameter, die das execute delete empfangen und nicht vergessen, in die Tabelle url zu rechen. –

+0

Mach etwas wie $ ids = array (4,5); $ this-> db-> where_in ('id', $ ids); $ this-> db-> löschen ('mytable'); –

+0

Vielen Dank für alle –

Antwort

1

Sie können tun, Verwenden Sie dazu die delete-Funktion von Codeigniter

Sie können die IDs der von den Benutzern ausgewählten Zeilen an PHP über einen Formularsumbit/Ajax-Aufruf übergeben.

Und löschen Sie dann die Coressponder Zeilen mit der delete Funktion.

Hinweis: Stellen Sie sicher, dass Sie vor der Löschanweisung eine WHERE-Klausel hinzufügen, um bestimmte Zeilen zu löschen.

Beispielcode

$this->db->where('id', $id); 
$this->db->delete('issues'); 
+0

Vielen Dank Ram –

+0

@TamilselvanS froh, dass ich helfen konnte. Sie können die Antwort jetzt als akzeptiert markieren. Vielen Dank. – RamC

+0

Bro könnten Sie bitte geben Sie Ihre Gmail-ID für die Klärung meiner Zweifel, wenn ... –

Verwandte Themen