2010-12-14 37 views
0

J'ai téléchargé avec succès mes images en utilisant php et en boucle, mais le problème avec moi est de savoir comment mettre les noms des fichiers téléchargés dans mon dbaprès avoir téléchargé plusieurs images doivent mettre Thay noms dans ma db

et ceci est mon code .

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Add event</title> 
<link href="../css_style.css" rel="stylesheet" type="text/css" /> 
</head> 

    <?php 
    error_reporting(E_ALL); 
    include_once "../config/config.php"; 

    if (isset($_POST['submit'])) { 

     $target = 'upload_occasion/'; 

     $title = $_POST['img_title']; 
     $des = $_POST['img_des']; 
     $putData = " insert into photos_occasion (id, title, description) values ('', '$title', '$des') "; 
     $result = $db->query($putData) or die ($db->error); 


     foreach ($_FILES["img"]["error"] as $key => $error) 
{ 
    if ($error == UPLOAD_ERR_OK) 
    { 
     $tmp_name = $_FILES["img"]["tmp_name"][$key]; 
     $name = $_FILES["img"]["name"][$key]; 
     move_uploaded_file($tmp_name, "$target/$name"); 

     $putData = " insert into photos_occasion (id, image_name) values ('', '$target/$name') "; 
     $result = $db->query($putData); 
    } 
} 

    if ($result) { 

       echo "Your event has been add successfully"; 

       }else{ 

        echo "Sorry there was an error please contact the administrator of the site"; 

        } 
     } 

    ?> 

<body> 
<div id="werpper"> 
     <div id="content"> 
      <div id="header">My control - Panel</div> 
       <div id="body_cntent"> 
        <div id="left_side"> 
         <p>Home and instructions</p> 
          <p><a href="../control_panel.php">main directory events</a></p> 
         <p>Active or unactive events</p> 
         <p><a href="includes/add_event.php">Add new event</a></p> 
         <p><a href="../control_panel.php">main directory photos</a></p> 
         <p>Add Photos </p> 
        </div> 
          <div id="right_side"> 

           <h1>Add Photos and occasion</h1> 
          <form method="post" action="" enctype="multipart/form-data"> 
           <table width="600" border="0" cellpadding="10"> 
           <tr> 
            <td>Images tiltle</td> 
            <td><input name="img_title" type="text" value="" size="50" /></td> 
           </tr> 
           <tr> 
            <td>Images Description</td> 
            <td><textarea name="img_des" rows="10" cols="50"></textarea></td> 
           </tr> 
           <tr> 
            <td>Images (max 10 img)</td> 
            <td>&nbsp;</td> 
           </tr> 
           <tr> 
            <td><label for="img1">Image 1</label></td> 
            <td><input type="file" name="img[]" /></td> 
           </tr> 
           <tr> 
            <td><label for="img2">Image 2</label></td> 
            <td><input type="file" name="img[]" id="fileField2" /></td> 
           </tr> 
           <tr> 
            <td><label for="img3">Image 3</label></td> 
            <td><input type="file" name="img[]" id="fileField3" /></td> 
           </tr> 
           <tr> 
            <td><label for="img4">Image 4</label></td> 
            <td><input type="file" name="img[]" id="fileField4" /></td> 
           </tr> 
           <tr> 
            <td><label for="img5">Image 5</label></td> 
            <td><input type="file" name="img[]" id="fileField5" /></td> 
           </tr> 
           <tr> 
            <td><label for="img6">Image 6</label></td> 
            <td><input type="file" name="img[]" id="fileField6" /></td> 
           </tr> 
           <tr> 
            <td><label for="img7">Image 7</label></td> 
            <td><input type="file" name="img[]" id="fileField7" /></td> 
           </tr> 
           <tr> 
            <td><label for="img8">Image 8</label></td> 
            <td><input type="file" name="img[]" id="fileField8" /></td> 
           </tr> 
           <tr> 
            <td><label for="img9">Image 9</label></td> 
            <td><input type="file" name="img[]" id="fileField9" /></td> 
           </tr> 
           <tr> 
            <td><label for="img10">Image 10</label></td> 
            <td><input type="file" name="img[]" id="fileField10" /></td> 
           </tr> 
           <tr> 
            <td>&nbsp;</td> 
            <td>&nbsp;</td> 
           </tr> 
           <tr> 
            <td>&nbsp;</td> 
            <td><input type="submit" name="submit" value="Save" /> 
            &nbsp;&nbsp; 
            <input type="reset" name="reset" value="Empty fields" /></td> 
           </tr> 
          </table> 
          </form> 
         </div> 
       </div> 
      <div id="footer"></div> 
     </div> 
</div> 
</body> 
</html> 

1- Je ne peux pas mettre leur nom dans mon db afin que je puisse les obtenir après après (encore)

Répondre

1
problème

1: vous voulez probablement $ le titre, pas img_title $ (et regardez problème 2)

essayez ceci:

<?php 
error_reporting(E_ALL); 
include_once("../config/config.php"); 

if (isset($_POST[ 'submit' ])) 
{ 
    $target = 'upload_occasion/'; 

    $title = $_POST[ 'img_title' ]; 
    $des = $_POST[ 'img_des' ]; 

    // insert occasion info 
    $putData = "INSERT INTO photos_occasion (id, title, description) values ('', '$title', '$des')"; 
    $result = $db->query($putData) or die ($db->error); 

    // NOTICE THIS LINE .. you should implement something to get the inserted id (maybe from the $result) 
    $photoOccasionID = GET_INSERTED_ID_SOMEHOW; 

    // then update occasion with each photo 
    $num = 1; 
    foreach ($_FILES[ "img" ][ "error" ] as $key => $error) 
    { 
     if ($error == UPLOAD_ERR_OK) 
     { 
      $tmp_name = $_FILES[ "img" ][ "tmp_name" ][ $key ]; 
      $name = $_FILES[ "img" ][ "name" ][ $key ]; 
      move_uploaded_file($tmp_name, "$target/$name"); 

      $putData = "UPDATE photos_occasion SET image_" . $num . " = '$target/$name' WHERE id = " . $photoOccasionID; 
      $result = $db->query($putData); 
      $num++; 
     } 
    } 

    echo "Your event has been add successfully"; 
} 
?> 

pense que cela devrait vous mettre sur le chemin ...

mais de toute façon, comme une note de côté, je pense que la bonne façon de concevoir la base de données est comme:

occasion de table

(id, titre, description)

Table photos_occasion (id, occasion_id, image, commande) ici, occasion_id est une clé étrangère à occasionnerait table (colonne id) de commande, est le numéro de la photo (si vous avez vraiment besoin de connaître son ordre)

+0

J'aime vraiment Stack Overflow et les gens –

+0

ne comprend toujours pas la dernière partie comment mettre la "requête d'insertion SQL ($ putData et $ résultat et if-else)" dans ma boucle pouvez-vous m'aider s'il vous plaît avec cette –

+0

OK Je vous ai eu Mr.Diogo j'ai résolu le problème 1 mais pour deux je dois connaître la base juste pour l'instant et je vais faire le reste pour le téléchargement d'erreur et l'extension des images mais pour l'instant je dois savoir comment mettre les noms des les images téléchargées à mes db Merci encore Mr.Diogo pour me aider avec ce –

0

Merci pour votre Mr.Diogo est la première chose que je dois dire et c'est le code final que j'ai mis avec l'aide de mon maître

<?php 

     error_reporting(E_ALL); 
     include_once("../config/config.php"); 

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Add event</title> 
<link href="../css_style.css" rel="stylesheet" type="text/css" /> 
</head> 

    <?php 

if (isset($_POST['submit'])) 
{ 

    $target = 'upload_occasion/'; 

    $title = $_POST[ 'img_title' ]; 
    $des = $_POST[ 'img_des' ]; 

    // insert occasion info 
    $putData = "INSERT INTO photos_occasion (id, title, description) values ('', '$title', '$des')"; 
    $result = $db->query($putData) or die ($db->error); 
    $photoOccasionID=$db->insert_id; 
    // NOTICE THIS LINE .. you should implement something to get the inserted id (maybe from the $result) 


    // then update occasion with each photo 
    $num = 1; 
    foreach ($_FILES[ "img" ][ "error" ] as $key => $error) 
    { 
     if ($error == UPLOAD_ERR_OK) 
     { 
      $tmp_name = $_FILES[ "img" ][ "tmp_name" ][ $key ]; 
      $name = $_FILES[ "img" ][ "name" ][ $key ]; 
      move_uploaded_file($tmp_name, "$target/$name"); 

      $putData = "UPDATE photos_occasion SET image_" . $num . " = '$target/$name' WHERE id = " . $photoOccasionID; 
      $result = $db->query($putData); 
      $num++; 



     } 

    } 

    echo "Your event has been add successfully"; 
} 
?> 




<body> 
<div id="werpper"> 
     <div id="content"> 
      <div id="header">My control - Panel</div> 
       <div id="body_cntent"> 
        <div id="left_side"> 
         <p>Home and instructions</p> 
          <p><a href="../control_panel.php">main directory events</a>      </p> 
         <p><a href="add_event.php">Add new event</a>      </p> 
         <p><a href="add_photos_and_occasion.php"></a><a href="add_photos_and_occasion.php">Add Photos_occasion</a></p> 
        </div> 
          <div id="right_side"> 

           <h1>Add Photos and occasion</h1> 
          <form method="post" action="" enctype="multipart/form-data"> 
           <table width="600" border="0" cellpadding="10"> 
           <tr> 
            <td>Images tiltle</td> 
            <td><input name="img_title" type="text" value="" size="50" /></td> 
           </tr> 
           <tr> 
            <td>Images Description</td> 
            <td><textarea name="img_des" rows="10" cols="50"></textarea></td> 
           </tr> 
           <tr> 
            <td>Images (max 10 img)</td> 
            <td>&nbsp;</td> 
           </tr> 
           <tr> 
            <td><label for="img1">Image 1</label></td> 
            <td><input type="file" name="img[]" /></td> 
           </tr> 
           <tr> 
            <td><label for="img2">Image 2</label></td> 
            <td><input type="file" name="img[]" id="fileField2" /></td> 
           </tr> 
           <tr> 
            <td><label for="img3">Image 3</label></td> 
            <td><input type="file" name="img[]" id="fileField3" /></td> 
           </tr> 
           <tr> 
            <td><label for="img4">Image 4</label></td> 
            <td><input type="file" name="img[]" id="fileField4" /></td> 
           </tr> 
           <tr> 
            <td><label for="img5">Image 5</label></td> 
            <td><input type="file" name="img[]" id="fileField5" /></td> 
           </tr> 
           <tr> 
            <td><label for="img6">Image 6</label></td> 
            <td><input type="file" name="img[]" id="fileField6" /></td> 
           </tr> 
           <tr> 
            <td><label for="img7">Image 7</label></td> 
            <td><input type="file" name="img[]" id="fileField7" /></td> 
           </tr> 
           <tr> 
            <td><label for="img8">Image 8</label></td> 
            <td><input type="file" name="img[]" id="fileField8" /></td> 
           </tr> 
           <tr> 
            <td><label for="img9">Image 9</label></td> 
            <td><input type="file" name="img[]" id="fileField9" /></td> 
           </tr> 
           <tr> 
            <td><label for="img10">Image 10</label></td> 
            <td><input type="file" name="img[]" id="fileField10" /></td> 
           </tr> 
           <tr> 
            <td>&nbsp;</td> 
            <td>&nbsp;</td> 
           </tr> 
           <tr> 
            <td>&nbsp;</td> 
            <td><input type="submit" name="submit" value="Save" /> 
            &nbsp;&nbsp; 
            <input type="reset" name="reset" value="Empty fields" /></td> 
           </tr> 
          </table> 
          </form> 
         </div> 
       </div> 
      <div id="footer"></div> 
     </div> 
</div> 
</body> 
</html> 

Ce code, je l'ai mis ici pour aider les autres à travers ce problème, je suis resté assis pendant 5 jours à essayer de résoudre.

ce code permettent aux utilisateurs de mettre les sourcils images qu'ils veulent et aussi ils ont mis des noms dans la base de données afin qu'ils puissent l'appeler à tout où ils veulent

Merci encore Mr.Diogo et une bonne nuit.