Partage
  • Partager sur Facebook
  • Partager sur Twitter

Msyql récupérer une valeur de tableau

    2 décembre 2006 à 23:04:44

    Bonsoir.

    Voilà, j ai enfin réussi à faire mon scrpit de multiupload, mais je rencontre un problème pour insérer le nom de mon image dans la DB

    Je récupère le nom de mon image est l'upload
    if (isset($_FILES['fichier']))
    {
    //$_FILES existe
    foreach ($_FILES['fichier']['name'] as $key => $value) {
    $fichier=$value;//nom reel de l'image
    $size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets
    $tmp=$_FILES['fichier']['tmp_name'][$key];//nom temporaire de l'image (sur le serveur)
    $type=$_FILES['fichier']['type'][$key];//type de l'image
    //On récupère la taille de l'image
    list($width,$height)=getimagesize($tmp);
    if (is_uploaded_file($tmp)) //permet de vérifier si le fichier a été uplodé via http
    {
    //vérification du type de l'img, son poids et sa taille
    if ($type="image/jpg" && $size<=120500 && $width<=320 && $height<=170 )
    {
    // type mime gif, poids < à 20500 octets soit environ 20Ko, largeur = hauteur = 100px
    //Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
    $fichier = preg_replace ("` `i","",$fichier);//ligne facultative :)
    //On vérifie s'il existe une image qui a le même nom dans le répertoire
    if (file_exists('../photos/'.$fichier))
    {
    //Le fichier existe on rajoute dans son nom le timestamp du moment pour le différencier de la première (comme cela on est sûr de ne pas avoir 2 images avec le même nom :) )
    $nom_final= preg_replace("`.jpg`is",date("U").".jpg",$fichier);
    }
    else {
    $nom_final=$fichier; //l'image n'existe pas on garde le même nom
    }
    //on déplace l'image dans le répertoire final
    if (move_uploaded_file($tmp,'../photos/'.$nom_final)) {
    //Message indiquant que tout s'est bien passé
    //Pour le test on affiche l'image
    echo '';
    }
    else {
    //l'image ne peut être déplacée, on supprime le fichier temporaire
    @ unlink ($tmp);
    echo '<center><font color=black>L\'image n\'a pu être déplacée !</font></center>';
    }

    }
    else {
    //Le type mime, ou la taille ou le poids est incorrect
    echo '<center><font color=black>Votre image a été rejetée (poids, taille ou type incorrect)</font></center>';
    }
    }
    }
    }
    ?>

    J'insère dans la db
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
      $updateSQL = sprintf("UPDATE vitrine SET location=%s, nom=%s, pieces=%s, img1='$nom_final' WHERE id='$id'",
                           GetSQLValueString($_POST['textarea'], "text"),
                                               GetSQLValueString($_POST['textfield'], "text"),
                                               GetSQLValueString($_POST['pieces'], "text"),
                           GetSQLValueString($_FILES['fichier'], "text"));

      mysql_select_db($database, $sql_connect);
      $Result1 = mysql_query($updateSQL, $sql_connect) or die(mysql_error());
    }

    mon input
    echo "<input type=\"file\" name=\"fichier[]\" accept=\"image/jpg\" size=\"20\" maxlength=\"50\">";

    Ce que j'essaie de faire c'est de récup la valeur de name=\"fichier[]\" de mon input dans ma table vitrine et la colonne img1
    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2006 à 12:21:53

      Bonjour et bon dimanche à tous !

      Voilà j ai réussi à avancer un bout sur mon script, mais j ai toujours un problème quand à l'insertion du nom de l image + extension dans la db.

      Je réexplique j'essaie par le biais d'un scripts d'upload multi images, de updater mes 8 champs img dans ma table (img1, img2,img3,...)


      donc je reprend ma variable qui me donne le nom de l'image une fois uploadée et je l'incrémente (?)

      $nom_final[$i] = $fichier;
      if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
        $updateSQL = sprintf("UPDATE vitrine SET location=%s, nom=%s, pieces=%s, img1='".$nom_final[0]."', img2='".$nom_final[1]."', img3='".$nom_final[2]."', img4='".$nom_final[3]."', img5='".$nom_final[4]."', img6='".$nom_final[5]."', img7='".$nom_final[6]."', img8='".$nom_final[7]."' WHERE id='$id'",


      Le problème ce que ca m insere dans mes champs : img1 = C , img2 = h , img3 = a img4 = l
      , img5 = e , img6 = t

      Ce qui donne chalet. c'est le nom de mom premiere premiere image uploadee

      moi ce que je veux c'est img1 =chalet1.jpg , img2 =chalet2.jpg , img3 =chalet3.jpg, img4 =chalet5.jpg , ....

      On m'a parlé de faire plutot ça avec un foreach, mais j avoue ne pas trop savoir comment m'y prendre ici :(


      • Partager sur Facebook
      • Partager sur Twitter

      Msyql récupérer une valeur de tableau

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown