首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在php中让html按钮指向特定的数组索引?

如何在php中让html按钮指向特定的数组索引?
EN

Stack Overflow用户
提问于 2019-06-06 04:15:52
回答 2查看 1.5K关注 0票数 2

我正在编写一个html/php代码,如下所示。在它中,只需点击html代码中的一个按钮,它就会进入php中Line#B的foreach块中。

代码语言:javascript
复制
<?php 
     $mp4_files = array_values($mp4_files); 
     print_r($mp4_files);  // Line #A
     if($_SERVER['REQUEST_METHOD'] == "POST")
    {       
     foreach ($mp4_files as $f)  // Line#B
     { 
            // conversion of mp4 into mp3 is happening, not pasting the full code. 
     }
    }
?> 

<form action="" method="POST">
 <table>
       <tr>
          <th>MP4 Name</th>
          <th>Action</th>
       </tr>
      <?php
        $mp4_files = array_values($mp4_files);
        foreach ($programs as $key => $program)  { 
       $file = $mp4_files[$key];     
       print_r($file);   // Line#B
       ?> 
       <tr>
          <td><?php echo basename($file); ?></td>
          <td><button type="submit" name="go-button" value="Go">Go</button</td>
       </tr>
   <?php } ?>
</table>
</form>

上面的html/php代码显示以下内容:

在上面的屏幕截图中,我们有mp4文件的列表和它们各自的按钮。

Line#A从上的html/php代码中打印以下数组

代码语言:javascript
复制
Array ( [0] => 36031P.mp4 [1] => hello.mp4 ) 

和Line#B:

代码语言:javascript
复制
36031P.mp4 hello.mp4

此时此刻,点击任何表格行中的Go按钮,所有mp4文件到mp3的转换开始发生(这不是我的要求)

问题陈述:

我想知道我应该在上面的html/php代码中做什么更改,以便如果我在屏幕截图中从上面的第一行点击Go按钮第一行 mp4文件到mp3的转换应该开始发生,反之亦然。

EN

回答 2

Stack Overflow用户

发布于 2019-06-06 05:14:50

一种很糟糕的方法是为每个按钮添加一个name属性,该属性带有您希望该按钮附加到的文件的相应文件名。当您发布时,您将收到一个数组密钥,其中包含应该转换的文件的文件名。你只需要遍历你的MP4数组就可以得到一个匹配的键。

也许更好的方法是将每个文件名/按钮分解成它自己的迷你表单,在每个表单中创建一个隐藏字段,并将值设置为应该转换的文件名。

这样,当您发布时,您将把应该转换的文件的名称附加到一个您已经知道其名称的密钥

票数 0
EN

Stack Overflow用户

发布于 2019-06-06 22:59:55

使用Ajax请求可以做到这一点

在html文件的底部创建javascript函数convert_video

代码语言:javascript
复制
function convert_video(video_id){

    $.ajax({
        url: 'server.com/converttomp3.php',
        type: 'POST',
        data: {video_id:video_id},
        beforeSend: function(){
            //
        },
        success: function(data)
        {

            var crude = JSON.parse(data);

            if(crude.status){
                alert('Success message');
                window.location.href = window.location.href;
            } else {

                alert(crude.message);
            }


        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            //Error

        }

然后从HTML作为您的循环视频

代码语言:javascript
复制
<td><button type="submit" onclick="return convert_video('<?php echo $array['video_id'] ;')" name="go-button" value="Go">Go</button</td>

最后,在您的服务器端代码中

代码语言:javascript
复制
if($_SERVER['REQUEST_METHOD'] == "POST")
{    
  $video_id = $_POST['video'];
  // processs your video here .
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56467383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档