dpbyr64224 2015-08-22 21:33
浏览 23
已采纳

将movie_id插入到他们属于PHP的剧集的副标题中

My question is how do i give my subtitles a movie_id from the episode the belong to? i have tried using foreach with php.

foreach ($_POST['episodes'] as $episodes => $value ) {
    $episode_title = $value['episode_title'];
    $sql_episode = "INSERT INTO episode VALUES ('', '$episode_title', '$description', '$cover_id')";
    if ($db->query($sql_episode) === TRUE) {
        $inserted_id_episodes = $db->insert_id;
    }
}

foreach ($_POST['subtitles'] as $subtitles => $value ) {
    $subtitle_language = $value['subtitle_language'];
    $sql_subtitle = "INSERT INTO added_subtitle VALUES ('', '$subtitle_language', '$inserted_id_episodes')";
    $result = $db->query($sql_subtitle);
}

Javascript to add subtitles and episode:

<script type="text/javascript">

$(document).ready(function() {

var counter = 1;

$("#btn-addepisode").click(function(e) {
e.preventDefault();
$(".add_episodes").append('<div class="add_episode_out"><div class="season_episode"><input type="text" placeholder="Episode titel" name="episodes['+counter+'][episode_title]"><i class="fa fa-trash delete-episode"></i><input type="text" placeholder="Indtast filnavn på episoden f.eks. orphan_black"><input class="fileextension_movie_season" type="text" placeholder=".mp4" disabled><h5>Vælg episode billede bredde 182px højde 102px</h5><input type="file" name="episode_image"><div class="subtitle_out"></div><button class="btn-addsubtitle">Tilføj undertekst</button></div></div>');
counter = counter + 1;
initRemove();
});

var initRemove = function() {
$(".delete-episode").click(function() {
  $(this).closest('.add_episode_out').find(".season_episode").remove();
  counter = counter - 1;
  if (counter < 1) {
    counter = 1;
  }
});
}

});

$(document).ready(function() {

var counter = 1;

$('.add_episodes').on('click', '.btn-addsubtitle', function(e) {
e.preventDefault();
$(this).closest('.season_episode').find(".subtitle_out").append('<div class="add_subtitle_out"><div class="add_subtitle"><input type="text" placeholder="Undertekstsprog" name="subtitles['+counter+'][subtitle_language]><i class="fa fa-trash delete-subtitle"></i><h5>Vælg undertekstfil (filtype .vtt)  </h5><input type="file"></div></div>');
counter = counter + 1;
initRemove();
});

var initRemove = function() {
$(".delete-subtitle").click(function() {
  $(this).closest('.add_subtitle_out').find(".add_subtitle").remove();
  counter = counter - 1;
  if (counter < 1) {
    counter = 1;
  }
});
}

});
</script>

This is what i am looking for: enter image description here

I hope that someone know how this is done. Thanks. Sorry for the ugly drawing!:)

  • 写回答

1条回答 默认 最新

  • dongpao5261 2015-08-22 22:20
    关注

    You need your javascript generate a form like this:

    <form  action="" method="post">
      <input type="text" name="episodes[0][episode_title]" value="">
      <input type="text" name="episodes[0][subtitle_language][]" value="">
      <input type="text" name="episodes[0][subtitle_language][]" value="">
    
      <input type="text" name="episodes[1][episode_title]" value="">
      <input type="text" name="episodes[1][subtitle_language][]" value="">
      <input type="text" name="episodes[1][subtitle_language][]" value="">
    
    </form>
    

    After that you can do something like this in php:

    foreach ($_POST['episodes'] as $episodes => $value ) {
        $episode_title = $value['episode_title'];
        $sql_episode = "INSERT INTO episode VALUES ('', '$episode_title', '$description', '$cover_id')";
        if ($db->query($sql_episode) === TRUE) {
    
            $inserted_id_episodes = $db->insert_id;
    
            foreach ($value['subtitle_language'] as $subtitle_language) {
    
              $sql_subtitle = "INSERT INTO added_subtitle VALUES ($inserted_id_episodes, '$subtitle_language', '$inserted_id_episodes')";
              $result = $db->query($sql_subtitle);
            }
        }
    
    }
    

    So if you want to send the path of the subtitle you need your javascript generate a form like this:

      <form  action="" method="post">
    
        <input type="text" name="episodes[0][episode_title]" value="">
    
        <input type="text" name="episodes[0][subtitle][0][language]" value="">
        <input type="text" name="episodes[0][subtitle][0][path]" value="">
    
        <input type="text" name="episodes[0][subtitle][1][language]" value="">
        <input type="text" name="episodes[0][subtitle][1][path]" value="">
    
        <input type="text" name="episodes[1][episode_title]" value="">
    
        <input type="text" name="episodes[1][subtitle][0][language]" value="">
        <input type="text" name="episodes[1][subtitle][0][path]" value="">
    
    
      </form>
    

    And change the phpcode:

    foreach ($_POST['episodes'] as $episodes => $value ) {
        $episode_title = $value['episode_title'];
        $sql_episode = "INSERT INTO episode VALUES ('', '$episode_title', '$description', '$cover_id')";
        if ($db->query($sql_episode) === TRUE) {
    
            $inserted_id_episodes = $db->insert_id;
    
            foreach ($value['subtitle'] as $subtitle) {
              $path = $subtitle['path'];
              $language = $subtitle['language'];
              $sql_subtitle = "INSERT INTO added_subtitle VALUES ($inserted_id_episodes, $language, $path, $inserted_id_episodes)";
              $result = $db->query($sql_subtitle);
            }
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容