У меня есть таблица, в которой есть строки с количеством найденных данных. После нажатия на ссылку с номером развертывается вторая таблица, показывающая количество строк. Это действие отлично работает, если таблица имеет только одну строку, но если в ней более одной строки после щелчка по ссылке, таблица развертывается во всех строках, а не только в соответствующей строке. Как я могу решить эту проблему?
1- таблица
<table >
<tr>
<th>date</th>
<th>medicine</th>
</tr>
<?php foreach($rows as $row)
{
?>
<tr>
<td><?=$row->date_val;?></td>
<td>
<?=$row->medicine;?>
<a id = "<?=$row->medicine?>" class = "deploy-medicine" title = "Deploy" style = "cursor:pointer"><?=$row->Total;?></a>
<div class = "toggle-medicine" style = "display:none"></div>
</td>
</tr>
<?php
}
?>
</table>
2-JQUERY
$('.deploy-medicine').click(function() {
var medicine = $(this).attr('id');
$.get( "<?php echo base_url();?>admin/get_medicine_name?medicine = "+medicine, function( data ){
$(".toggle-medicine").html(data).slideToggle("slow");
});
});
3-контроллер
public function get_medicine_name()
{
$medicine =$this->input->get('medicine');
$data['medicine'] = $this->model_admin->get_medicine($medicine);
$this->load->view('medicine',$data);
}
4- МОДЕЛЬ
function get_medicine($data)
{
$this->db->select('inserted_time,operator');
$this->db->from('table_medicine');
$this->db->where('medicine',$data);
$query = $this->db->get();
return $query->result();
}
5- представление, содержащее таблицу после щелчка
<table>
<tr>
<th>date</th>
<th>Operador</th>
</tr>
<?php foreach($medicine as $row)
{
?>
<tr>
<td><?=$row->inserted_time?></td>
<td><?=$row->operator?></td>
</tr>
<?php } ?>
</table>
лекарство не уникально, каждая строка - это другое название лекарства. Да, я правильно понял это в get_medicine. Моя цель достигается только тогда, когда у меня есть одна строка, но если у меня их больше, после нажатия на переключатель выполняется во всех строках. Моя проблема в функции JQUERY. Я не знаю, как развернуть результат только в одном td, когда есть много строк.
Вы действительно должны прояснить это в своем вопросе, поскольку ваш вопрос звучит так, как будто вы хотите получить только одно, а вместо этого получаете все лекарства (проблема с php).

Вам нужно найти ближайший td и найти в нем селектор .toggle-medicine.
Это будет работать:
$(document).ready(function() {
$(".deploy-medicine").click(function() {
console.info('deploying...');
var medicine = $(this).attr("id");
var el = $(this).closest('td').find('.toggle-medicine');
el.html("Hello World").show();
});
});
Подтвердите, что вы действительно получаете переменную
medicineвget_medicineс эхом. Также уникальна лиmedicine?