Как вывести данные из столбца?

272
13 апреля 2018, 15:52

Есть несколько записей, под каждой кнопка, одна и таже. Жмём кнопку под любой записью, выводится колонка more именно для этой записи.

Как сделать, чтобы при клике на кнопку, для каждой записи выводилась своя запись из more? Сейчас выводится только первая.

// Вывод записей из БД
<?
  $types = typeClass();
  $list = $DB->getAll('SELECT * FROM `list` ORDER BY `id`');
  foreach($list As $l){
?>
<div class="day">
    <div class="date"><?=$l['date']?></div>
    <div class="time"><?=$l['time']?></div>
    <div class="kitchen <?=$l['type']?>">
        <?=$types[$l['type']]?>
    </div>
    <div class="description">
        <?=$l['text']?>
    </div>
    <a class="button more" href="#"><span>Подробнее</span></a>
</div>
<?
}
?>
// Код кнопки
<div class="popup more">
<?
  global $DB;
  $dataSql = $DB->getAll('SELECT `more` FROM `list` ORDER BY `id`');
  foreach($dataSql As $sql){
?>
<div class="form" name="list[list][<?=$sql['id']?>][more]"><?=$sql['more']?></div>
<?             
  }
?>
</div>
Answer 1

Вариант первый. В атрибут data кнопки добавляем текст more и затем выводим в попап окне:

$(function() { 
	$('.more').click(function(){ 
    var more = $(this).attr("data"); 
    $(".form").html(more);  
		$('.popup').fadeIn(300);  
	}); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
 
<? 
  $types = typeClass(); 
  $list = $DB->getAll('SELECT * FROM `list` ORDER BY `id`'); 
  foreach($list As $l){ 
?> 
<div class="day"> 
    <div class="date"><?=$l['date']?></div> 
    <div class="time"><?=$l['time']?></div> 
 
    <div class="kitchen <?=$l['type']?>"> 
        <?=$types[$l['type']]?> 
    </div> 
    <div class="description"> 
        <?=$l['text']?> 
    </div> 
    <a class="button more" href="#" data="<?=$l['more']?>"><span>Подробнее</span></a> 
</div> 
<? 
} 
?> 
 
// Код кнопки 
<div class="popup more"> 
<div class="form" name=""></div> 
</div>

Вариант второй. В атрибут data добавляем id записи и каждому попап окну добавляем идентификатор записи и при нажатии на Подробнее показиваем окно попап которое соответствует id:

$(function() { 
	$('.more').click(function(){ 
    var more = $(this).attr("data"); 
		$(more).fadeIn(300);  
	}); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
 
<? 
  $types = typeClass(); 
  $list = $DB->getAll('SELECT * FROM `list` ORDER BY `id`'); 
  foreach($list As $l){ 
?> 
<div class="day"> 
    <div class="date"><?=$l['date']?></div> 
    <div class="time"><?=$l['time']?></div> 
 
    <div class="kitchen <?=$l['type']?>"> 
        <?=$types[$l['type']]?> 
    </div> 
    <div class="description"> 
        <?=$l['text']?> 
    </div> 
    <a class="button more" href="#" data="#<?=$sql['id']?>"><span>Подробнее</span></a> 
</div> 
<? 
} 
?> 
 
// Код кнопки 
 
<? 
  global $DB; 
  $dataSql = $DB->getAll('SELECT `id`,`more`  FROM `list` ORDER BY `id`'); 
  foreach($dataSql As $sql){ 
?> 
<div class="popup more" id="<?=$sql['id']?>"> 
<div class="form" name="list[list][<?=$sql['id']?>][more]"><?=$sql['more']?></div> 
</div> 
<?              
  } 
?>

READ ALSO
Права доступа на php файл с паролем БД

Права доступа на php файл с паролем БД

Храню логин и пароль к базе в файле connectionphp, он лежит на уровень выше корневой директории сайта

237
Как удалить связи таблиц laravel

Как удалить связи таблиц laravel

Здравствуйте, подскажите как я могу удалить связи между таблицами? То есть происходит удаления модели

262
Редирект страницы с кодом 40x

Редирект страницы с кодом 40x

Скорее всего не знаю спецификацию, или суть происходящегоРешил сделать редирект с кодом 404:

260
Как правильно настроить в PHP Storm и Laravel autocomplete ?

Как правильно настроить в PHP Storm и Laravel autocomplete ?

Подскажите как настроить нормально для ларавела пакетов среду разработки для autocompletion ?

338