IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ajout et lecture de pièces jointes dans table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Ajout et lecture de pièces jointes dans table
    Bonjour,

    Objet de ce petit développement est d'enregistrer une FICHE composée de plusieurs RUBRIQUES (colonne) et de Piéces jointes

    Question 1- Je recherche un exemple de code PHP MySQL d' insertion et de relecture de piéces jointes dans une table (avec le chemin pour l'affichage de(s) pieces jointes).
    J'ai une petite sequence de code PHP qui fonctionne pour le chargement dans ma table.
    (voir le code ci-dessous)

    Question 2- dans ce formulaire, je saisie plusieurs RUBRIQUES INPUT et ma piéce jointe. J'aurai voulu enregistrer en une seule fois mes RUBRIQUES INPUT et ma PIECE JOINTE (en un seul ENVOI !). Je ne sais pas si c'est possible. Faut il dans un premier temps découper ma page PHP.
    1- Faire la saisie et la vérification de chaque RUBRIQUES puis l'enregistrement (INSERT) dans ma base.
    2- Et dans deuxième temps proposer à l'utilisateur l'ajout d'une Piece jointe et faire (UPDATE) du , des champs correspondant à la PIECE JOINTE.

    est ce possible en une seule fois
    - saisie des champs INPUT
    - appel de la piece jointe
    - validation
    - ecriture dans la table

    ----------------------------------------------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    if ($envoi) {                                                                                   
     $fich= $_FILES['fich']['tmp_name'];                                                            
     $taille = $_FILES['fich']['size'];                                                             
     $type = $_FILES['fich']['type'];                                                               
     $nom = $_FILES['fich']['name'];                                                                
     $description=$_POST['description'];  
    //----------------------------------------------
    //-----------------------------------------------                                                                                                                                                    
     if ($f = fopen( $fich, "r")) {                                                                 
     $contenu=fread($f, $taille);                                                                   
     $donnees=addslashes($contenu);
     // ce compteur est initialiser dans la page qui l'appel
     $_SESSION['compteur_fiche_joint']++;                                                                 
     $compteur_fiche_joint=$_SESSION['compteur_fiche_joint'];                                                                               
     $req= "INSERT INTO $table (id,nom,description,taille,type,fichier,date)                           
     		VALUES ('$compteur_fiche_joint','$nom','$description','$taille','$type','$donnees',now())";             
     mysql_query($req, $connexion) or die('Erreur SQL :!'.$req.'<br>'.mysql_error()); ;                                                                 
     $nb=mysql_affected_rows($connexion);                                                           
     if ($nb==0)                                                                                    
      echo "l'insertion a échoué !<br>Erreur: ". mysql_error()."<br>";

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut piece jointe
    Bonjour,
    Apres quelques recherches
    La solution se trouve déjaà sur le WEB
    à l'adresse suivante:


    http://www.coppoweb.com/dev/astuces_php/trucs_1.php#7


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Le code PHP et MYSQL pet inéresser d'autres personnes le voici
    # //pour la base de donnée sa sera ainsi le code :
    # /*
    # CREATE TABLE test (
    # num_img int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
    # data_img blob NOT NULL,
    # PRIMARY KEY (num_img),
    # KEY num_img (num_img)
    # );
    # */
    #
    # // pour le code alors ca va etre ainsi :
    # <?
    # mysql_connect("localhost","","");
    # mysql_select_db("le_nom_de_votre_base");
    # $img = "image.jpg";
    # $fp = fopen($img,"r");
    # $data = fread($fp,filesize($img));
    # fclose($fp);
    # $data = addslashes($data);
    # mysql_query("INSERT INTO test (data_img) VALUES ('$data')");
    # // pour la lecture des données
    # <?php
    #
    # $connexion=mysql_connect("localhost","","");
    # mysql_select_db("db",$connexion);
    # $requete="select data_img from test where num_img=1";
    # $resultat=mysql_query($requete,$connexion);
    # $tableau=mysql_fetch_array($resultat);
    # mysql_close($connexion);
    #
    # $image=$tableau[0];
    #
    # $fichier=fopen("image/img_tmp.jpg","w");
    # fwrite($fichier,$image);
    # fclose($fichier);
    # ?>
    #
    # <img src="image/img_tmp.jpg">

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout de pièce jointe dans un mail
    Par Floriang33 dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2009, 02h44
  2. [AC-2003] Ajout de HTML et pièces jointes dans un email
    Par Thotho-Maxime dans le forum VBA Access
    Réponses: 4
    Dernier message: 24/07/2009, 10h46
  3. Pièce jointe dans une table possible ?
    Par Badouba75 dans le forum MySQL
    Réponses: 8
    Dernier message: 18/02/2009, 11h34
  4. Problème lecture pièce jointe dans outlook phpmailer
    Par benjoux dans le forum Outlook Express / Windows Mail
    Réponses: 1
    Dernier message: 08/12/2008, 14h23
  5. [Mail] Ajout de Pièce jointe dans un e-mail
    Par Anduriel dans le forum Langage
    Réponses: 3
    Dernier message: 03/01/2007, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo