0

以下に、ファイル入力を処理するiframeがあります。

var $fileVideo = $("<form action='videoupload.php' method='post' enctype='multipart/form-data' target='upload_target_video' onsubmit='return videoClickHandler(this);' class='videouploadform' >" + 
"Video File: <input name='fileVideo' type='file' class='fileVideo' /></label>" +  
"<input type='submit' name='submitVideoBtn' class='sbtnvideo' value='Upload' /></label>" + 
 "<p class='listVideo' align='left'></p>" +
"<iframe class='upload_target_video' name='upload_target_video' src='/' style='width:0px;height:0px;border:0px;solid;#fff;'></iframe></form>"); 

これで、ファイルのアップロードが停止し、サーバーに正常にアップロードされたときに、アップロードされたファイルの名前が表示される関数が次のようになりました。

    function stopVideoUpload(success, videofilename){

      var result = '';
      videocounter++;

      if (success == 1){
         result = '<span class="videomsg'+videocounter+'">The file was uploaded successfully</span>';
          $('.listVideo').eq(window.lastUploadVideoIndex).append('<div>' + htmlEncode(videofilename) + 
          '<input type="text" name="videoidhide" value=""/><br/><hr/></div>');
      }


      return true;   
}

また、ファイル名の横にテキスト入力があることもわかります。これは私の質問に関連しています。

以下は、フレームがリンクするphpスクリプトです。videoupload.phpこのスクリプトは、ファイルをアップロードし、データベースにデータを挿入します。

     move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
      "VideoFiles/" . $_FILES["fileVideo"]["name"]);
      $result = 1;

    $videosql = "INSERT INTO Video (VideoFile) 
    VALUES (?)";

        if (!$insert = $mysqli->prepare($videosql)) {
      // Handle errors with prepare operation here
    }

            //Dont pass data directly to bind_param store it in a variable
$insert->bind_param("s",$vid);

//Assign the variable
$vid = 'VideoFiles/'.$_FILES['fileVideo']['name'];

 $insert->execute();

        if ($insert->errno) {
          // Handle query error here
        }

        $insert->close();     

?>

 <script language="javascript" type="text/javascript">
 window.top.stopVideoUpload(<?php echo $result; ?>, '<?php echo $_FILES['fileVideo']['name'] ?>');
 </script>  

以下は、ファイルの挿入を示すデータベースの例です。

Video_Questionテーブル:

 VideoId (PK auto)  VideoFile
 1                  VideoFiles/carrace.mp4
 2                  VideoFiles/cricket.mov

さて、私の質問は、アップロードされたビデオファイルをdbのフィールドに挿入するmysqliコードで、フィールドVideoFileから値を取得して、VideoId関連付けられたアップロードされた各ファイルのテキスト入力に表示するにはどうすればよいですか?

たとえば、carrace.mp4がアップロードされた場合はVideoId、データベースから1を取得し、アップロードされたファイルの名前の横にあるテキスト入力に表示します。

4

1 に答える 1

1

$mysqli->insert_id電話をかける前に、電話をかけてファイル名に追加するだけです。function stopVideoUpload

また$vid、バインドした後ではなく、バインドする前に割り当てる必要があります

     $insert->execute();
     $id = $mysqli->insert_id;
        if ($insert->errno) {
          // Handle query error here
        }

        $insert->close();     

?>

 <script language="javascript" type="text/javascript">
 window.top.stopVideoUpload(<?php echo $result; ?>, '<?php echo $id. $_FILES['fileVideo']['name'] ?>');
 </script>  
于 2013-01-18T21:09:33.970 に答える