2016-07-25 63 views
-3

我想用变量来接收插入数据的表单。 我写了一个关于壁橱数据库。用户插入数据的变量形式

<?php 
$category=""; 
include('db.php'); 
if(isset($_POST['save'])) 
{ 
$name = $_FILES['file']['name']; 
$color = $_POST['color']; 
$season = $_POST['season']; 
$pattern = $_POST['pattern']; 
$type = $_POST['type']; 
$imagetype = $_FILES['file']['type']; 
switch ($_POST['category']) 
    { 
     case "clothes": 
      echo $category="clothes"; 
      break; 
     case "under": 
      echo $category = "under"; 
      break; 
     case "coat": 
      echo $category = "coat"; 
      break; 
     case "accessory": 
      echo $category = "accessory"; 
    } 
if($imagetype =='image/jpeg' || $imagetype == 'image/gif' || $imagetype =='image/png') 
{ 
    //move image to folder length 
    $uploadfile = move_uploaded_file($_FILES['file']['tmp_name'],'upload/'.$_FILES['file']['name']); 
    //insert to database 
    $query = mysql_query("INSERT INTO $category(name,color,season,pattern,type,imagetype) VALUES('$name','$color','$season','pattern','$type','$imagetype')"); 
    if($uploadfile && $query) 
    { 
     echo "image have been store and save successfully."; 
    } 
    else if(!$uploadfile) 
    { 
     echo "image not upload"; 
    } 
    else if(!$query) 
    { 
     echo "image not save"; 
    } 
} 
else 
{ 
    echo "Invalid File Type"; 
} 
}?> 
<!DOCTYPE html> 
<html> 
<head> 
<title>Upload Image</title> 
</head> 
<body> 
<form action="" method="post" enctype="multipart/form-data"> 
    Category : 
    <SELECT name="category"> 
    <option value="clothes">Clothes</option> 
    <option value="under">Under</option> 
    <option value="coat">Coat</option> 
    <option value="accessory">Accessory</option> 
    </SELECT> 
    ImageColor : 
    <input type="text" name="color"> 
    Season : 
    <input type="text" name="season"> 
    Pattern : 
    <input type="text" name="pattern"> 
    Type : 
    <input type="text" name="type"> 
    File: 
    <input type="file" name="file"> 
    <input type="submit" value="Upload Data" name="save"> 
</form> 
<table> 
    <thead> 
     <tr> 
      <th>ID</th> 
      <th>ImageNmae</th> 
      <th>ImageColor</th> 
      <th>Season</th> 
      <th>Pattern</th> 
      <th>Type</th> 
      <th>Action</th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php 
      //$category = $_POST['category']; 
      $query ="SELECT * FROM " . $category; 
      $result = mysql_query($query) or die ("Query failed: ".mysql_error()." Actual query: ".$query); 
      while($row = mysql_fetch_object($result)) 
      { 
       ?> 
        <tr> 
         <td><?php echo $row->id ?></td> 
         <td><img style="width:200px;height:200px;"src="<?php echo 'upload/'. $row->name ?>"></td> 
         <td><?php echo $row->name ?></td> 
         <td><?php echo $row->color ?></td> 
         <td><?php echo $row->season ?></td> 
         <td><?php echo $row->pattern ?></td> 
         <td><?php echo $row->type ?></td> 
         <td><?php echo $row->imagetype ?></td> 
         <td> 
          <a href="edit.php?id=<?php echo $row->id?>">Edit</a> 
          <a href="delete.php?id=<?php echo $row->id?>">Delete</a> 
         </td> 
        </tr> 
       <?php 
      } 
      die(mysql_error()); 
     ?> 
    </tbody> 
</table> 
</body> 
</html> 

我只能在表格“clothes”(默认)中成功插入。 如果有人可以告诉查询有什么问题,那就太好了! 感谢您的任何帮助或建议。 :)

+0

在开关位置使用if-else。并检查$ _POST ['category']'对于不同的表单是不同的提交与否.. – Avishake

+0

感谢您的帮助。 我厌倦了你的建议。 看来我的查询有问题。 它显示“查询失败:您的SQL语法中有错误” 在我的查询中是否有任何问题:< – Echo

+0

做一件事,让您的变量像''“。$ name。”''。这是PHP连接。我发现你编写SQL的方式是正确的,但PHP有时无法处理它。使用上面显示的变量。它不应该是任何错误。 – Avishake

回答

0

试试这个

switch ($_POST['category']) 
{ 
    case "clothes": 
     $category="clothes"; 
     break; 
    case "under": 
     $category = "under"; 
     break; 
    case "coat": 
     $category = "coat"; 
     break; 
    case "accessory": 
     $category = "accessory"; 
     break; 
} 
0

请从statement.ie.you的开头添加按钮isset条件尝试在你的PHP代码

之间
if(isset($_POST['save'])) 
{ 
    // place your code here; 
} 

,并取消这样

声明
$category = $_POST['category'];