我正在尝试将ID发送到另一个页面,然后从另一个页面中通过该ID选择数据,因此它可以正常工作,但仅适用于1个数据,例如如果我有服务器1和服务器2,则服务器1可以工作,但服务器2将不工作谁能告诉我这是什么问题
PHP
<?php
$get = $data->show(" SELECT * FROM servers where film_name='avengers' ");
foreach ($get as $row) {
$id=$row['server_id'];
$name=$row['server_name'];
$link=$row['link'];
$movie=$row['film_name'];
?>
<button type="button" id="btn" value="<?php echo $id ?>" class="btn btn-warning"><?php echo "$name"; ?></button>
<?php } ?>
ajax
<script type="text/javascript">
$(document).ready(function (){
$('#btn').click(function (){
var serverid = $('#btn').val();
$.ajax({
url:"../../control/operation/view_movie.php",
method:"POST",
data:{serverid:serverid},
success:function(data)
{
$("#show").html(data);
}
});
});
});
</script>
viewmovie页面
<?php
$id=$_POST['serverid'];
$getuser = $data->getdata("SELECT * FROM servers WHERE server_id='$id'");
$link=$getuser['link'];
$name=$getuser['film_name'];
?>
<iframe class="embed-responsive-item" src="<?php echo $link ?>" allowfullscreen></iframe>
答案 0 :(得分:1)
id
是一个数字,您正在查询中将其标识为字符串。
因此更改此:$getuser = $data->getdata("SELECT * FROM servers WHERE server_id='$id'");
对此:$getuser = $data->getdata("SELECT * FROM servers WHERE server_id=$id");
只需删除引号('')。
解决方案2
使用此按钮:
<button type="button" value="<?php echo $id ?>" class="btn btn-warning" onclick="getmovie(<?php echo $id ?>)"><?php echo "$name"; ?></button>
其中onclick="getmovie(<?php echo $id ?>)"
是观看电影的功能,我们将id作为参数发送。
而ajax如下:
<script type="text/javascript">
function getmovie(serverid){
$.ajax({
url:"../../control/operation/view_movie.php",
method:"POST",
data:{serverid:serverid},
success:function(data)
{
$("#show").html(data);
}
});
}
</script>
答案 1 :(得分:0)
您必须检查第二页上是否有必需的参数。
<?php
if(!empty($_POST['serverid'])){
$id=$_POST['serverid'];
$getuser = $data->getdata("SELECT * FROM servers WHERE server_id='$id'");
$link=$getuser['link'];
$name=$getuser['film_name'];
?>
<iframe class="embed-responsive-item" src="<?php echo $link ?>" allowfullscreen></iframe>
<?php }else{
?>
<iframe class="embed-responsive-item" allowfullscreen> No data</iframe>
<?php } ?>