2017-06-01 26 views
1

我试图从插入HTML标签中选择一个值到MySQL:MySQL的:从选择标记插入值成为截断

<select name="venuesend"> 
    <option value="37">LATINO SPORTS CLUB</option> 
    <option value="38">RED HOOK VISION CENTER</option> 
    <option value="39">ANTHOLOGY FILM ARCHIVES</option> 
    <option value="40">HUMMINGBIRD STUDIOS</option> 
    <option value="41">THE PRODUCERS CLUB</option> 
</select> 

所以,如果选择LATINO SPORTS CLUB37的价值应该被发送到MySQL 。但是,目前,发布到MySQL的值始终是3。所以,我猜这是因为什么原因被截断的。

这是我的PHP和HTML表单:

<?php 

      //if "submit" is clicked 
      if(isset($_POST['upload2'])) { 


       //check if image files were uploaded 
       foreach($_FILES['images']['error'] as $err){ 
        switch ($err){ 
         case UPLOAD_ERR_NO_FILE: 
          echo 'No file sent.'; 
          exit; 
        } 
       } 

       //iterate through each image file uploaded 
       for($x=0; $x<count($_FILES['images']['tmp_name']); $x++){ 


        //THIS IS WHERE VENUESEND IS POSTED 

        $screeningID2 = $_POST['venuesend'][$x]; 
        $file_name = $_FILES['images']['name'][$x]; 
        $file_tmp = $_FILES['images']['tmp_name'][$x]; 

        .... 

         //SQL statement and Posting 
         $sql2 = "INSERT INTO screeningImages (screeningId, imageURL) VALUES ('$screeningID2', '$file_name')"; 
         mysqli_query($db, $sql2); 
        } else{ 
         echo "Only images can be stored."; 
        } 
       } 
      } 

     ?> 

     //HTML Form 
     <form method="post" action="screenings-admin.php" enctype="multipart/form-data"> 


     //SELECT 

     <select name="venuesend"> 
      <option value="37">LATINO SPORTS CLUB</option> 
      <option value="38">RED HOOK VISION CENTER</option> 
      <option value="39">ANTHOLOGY FILM ARCHIVES</option> 
      <option value="40">HUMMINGBIRD STUDIOS</option> 
      <option value="41">THE PRODUCERS CLUB</option> 
     </select> 


      //Images Upload 
      <input type="file" id="imageUpload" name="images[]" multiple="" onchange="javascript:updateList()"/> 

      //submit button 
      <input type="submit" name="upload2" value="Upload" id="upload2"> 
     </form> 

回答

1

的问题是,您试图访问一个字符串(37)的一个阵列,您呼叫$screeningID2 = $_POST['venuesend'][$x];

<select> POSTs通过选定的$_POST[id];你实际上并不需要参考$x可言的,只需要:

$screeningID2 = $_POST['venuesend'];

你得到3未来通过,因为$_POST['venuesend']已经是字符串37,和你基本上是在拍摄第一字符的字符串。

希望这会有所帮助! :)

0

部分代码不清楚,但这应该从外观上解决问题。

$screeningID2 = $_POST['venuesend'][$x] 

$screeningID2 = $_POST['venuesend]; 

随着[$x]末,你想存储/读取存储在变量中的整个字符串的字符。试试这段代码并将我们更新回来,这样我们可以看到是否修复了它。