Приведенные ниже код показывает последние сообщения пользователя из базы данных, и кнопки удаления при просмотре пользователя постаPHP во время цикла не работает внутри Bootstrap модального
<div class="span12">
<?php
// get current user ID
$userid = $row['0'];
// get posts
$sql_posts = "SELECT * FROM posts WHERE ownerid='$userid' ORDER BY id DESC LIMIT 0,5";
$result_posts = mysql_query($sql_posts);
// for each post, show le post.
while($row_posts = mysql_fetch_assoc($result_posts)) {
?>
<div class="well">
<span class="label"><?php echo date('F j Y',strtotime($row_posts['time']));?></span>
at
<span class="label"><?php echo date('g:i a',strtotime($row_posts['time']));?></span>
<?php
if($player==$_SESSION['username']) {
?>
<a href="#deletepost" data-toggle="modal">
<span class="label label-important">Delete post</span>
</a>
<!-- delete post modal -->
<div id="deletepost" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close delete" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Delete post</h3>
</div>
<div class="modal-body">
Are you want to delete post #<?php echo $row_posts['id'];?>?
<p class="muted">
"<i><?php echo $row_posts['contents'];?></i>"
</p>
</div>
<div class="modal-footer">
<form class="pull-right form-inline" method="post" action="post_delete.php">
<input type="hidden" value="<?php echo $row_posts['id'];?>" name="postid">
<input type="hidden" value="<?php $filepath = $_SERVER["SCRIPT_NAME"]; echo basename($filepath);?>" name="currentpage">
<button type="button" class="btn" data-dismiss="modal" aria-hidden="true">Keep the post</button>
<button type="submit" class="btn btn-danger">I am sure. Delete the post!</button>
</form>
</div>
</div>
<!-- end modal -->
<?php
} // end delete post button
?>
<hr width="250px">
<img src="profilepic.php?player=<?php echo $player;?>&size=32" />
<?php echo $row_posts['contents'];?>
</div>
<?php
} // end post foreach
?>
</div>
По какой-то причине, когда пользователь нажимает модальный он показывает один и тот же пост каждый раз. Например, если пользователь ударил delete в первом сообщении, а содержимое сообщения было hello
, оно покажет привет в модальном режиме. Тем не менее, для всех остальных сообщений в цикле, если вы нажмете «Удалить», он покажет первое сообщение в каждом модуле.
У вас есть много плохих вещей происходит здесь. Во-первых, чтобы ответить на ваш вопрос, посмотрите, как удалить сообщение. Каждый раз, когда вы зацикливаете, вы создаете новый div с тем же идентификатором «deleteepost». Вероятно, поэтому вы всегда открываете первый модальный. ID всегда должны быть уникальными. Кроме того, изучите использование [Улучшенное расширение MySQL] (http://us1.php.net/manual/en/book.mysqli.php). –