2017-08-01 58 views
2

好吧,我想插入多个值到单个列catName与空间。但我无法插入它..这里是我的代码。假设我从下拉列表中选择了运动板球橄榄球,并且所有三个名字都应该在列中,并且空格不是逗号。从下拉到单列插入多个值与空间php mysql

<?php 
//include config 
require_once('includes/config.php'); 

//if not logged in redirect to login page 
if(!$user->is_logged_in()){ header('Location: login.php'); } 

require_once('includes/config2.php'); 
    if(isset($_FILES['files'])){ 
    $errors= array(); 
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){ 
    $picCourtesy = $_POST["picCourtesy"]; 
    $picTitle = $_POST["picTitle"]; 
    $catName = implode(' ',$_POST['$catName']); 

     $file_name = $key.$_FILES['files']['name'][$key]; 
     $file_size =$_FILES['files']['size'][$key]; 
     $file_tmp =$_FILES['files']['tmp_name'][$key]; 
     $file_type=$_FILES['files']['type'][$key]; 
     if($file_size > 2097152){ 
      $errors[]='File size must be less than 2 MB'; 
     }  
     $query="INSERT into gallery (`picTitle`,`picCourtesy`,`catName`,`gFILE_NAME`,`gFILE_SIZE`,`gFILE_TYPE`) VALUES('$picTitle','$picCourtesy','$catName','$file_name','$file_size','$file_type'); "; 
     $desired_dir="../gallery"; 
     if(empty($errors)==true){ 
      if(is_dir($desired_dir)==false){ 
       mkdir("$desired_dir", 0700);  // Create directory if it does not exist 
      } 
      if(is_dir("$desired_dir/".$file_name)==false){ 
       move_uploaded_file($file_tmp,"$desired_dir/".$file_name); 
      }else{         // rename the file if another one exist 
       $new_dir="$desired_dir/".$file_name.time(); 
       rename($file_tmp,$new_dir) ;    
      } 
     mysqli_query($conn,$query);    
     }else{ 
       print_r($errors); 
     } 
    } 
    if(empty($error)){ 
     header('Location: index.php'); 
       exit; 
    } 
}?> 
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Admin - Add Post</title> 
    <link rel="stylesheet" href="style/normalize.css"> 
    <link rel="stylesheet" href="style/main.css"> 
</head> 
<body> 
<div id="wrapper"> 
    <?php include('menu.php');?> 

<form action="" method="POST" enctype="multipart/form-data"> 
<p>upload single pic, Less than 2mb.</p> 
<p><label>Title</label><br /> 
     <input type='text' name='picTitle' value='<?php if(isset($error)){ echo $_POST['picTitle'];}?>'></p> 

<p><label>photo courtesy</label><br /> 
     <input type='text' name='picCourtesy' value='<?php if(isset($error)){ echo $_POST['picCourtesy'];}?>'></p> 
<?php 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 



    $query = "SELECT * FROM category"; 
    $result = mysqli_query ($conn,$query);?> 
     <p><label >Category:</label><br/> 
    <select multiple="multiple" name="catName[]"> 
    <?php 
    while($r = mysqli_fetch_array($result)) { 
    echo '<option value='.$r['catName'].'>'.$r['catName'].'</option>'; 
    } 
    echo "</select>"; 
    ?></p>                              
     <input type="file" name="files[]" /> 
     <input type="submit"/> 
    </form> 
    </div> 
    </body> 

请帮助我,希望你在这里

回答

1

明白我的问题,只是

$catName = implode(' ',$_POST['catName']); 

更换

$catName = implode(' ',$_POST['$catName']); 

通过mistakely你只需要添加 '$' 上$_POST['$catName']

+0

愚蠢的我,th ANKS很多:) <3 –

+0

欢迎您:) –

+0

hello @Bibhudatta,我将它改为catName to catID现在它不再工作了 –