单击按钮并更改值后,将ID发送到另一个表单

时间:2020-05-05 17:40:00

标签: php jquery ajax

我正在尝试将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>

这与我加载第一个时不一样,即使我没有加载第一个时其他都不会工作 谢谢你的帮助 img for detail

2 个答案:

答案 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 } ?>