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

Requêtes MySQL Discussion :

Introduire une photo dans une base mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 58
    Points
    58
    Par défaut Introduire une photo dans une base mysql
    bonjour,

    comme je l ai dis precedemment, j apprend le php/mysql avec une livre qui semble oublier certaines choses.. notamment pour introduire une photo dans la base mysql. Il me dit d'utiliser la commande SQL alter ; ALTER TABLE eleve ADD photo VARCHAR(64) NULL dans ce script sans preciser comment:

    Code php : 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
    <?php
    $liendb = mysql_connect("localhost","root","");
    mysql_select_db("test");
    $sql = "CREATE TABLE eleve (
    ideleve int(10) unsigned NOT NULL auto_increment,
    nom varchar(64) NOT NULL default '',
    prenom varchar(64) NOT NULL default'',
    adresse varchar(128) NOT NULL default'',
    ville varchar(64) NOT NULL default'',
    cp varchar(8) NOT NULL default'',
    pays varchar (32) NOT NULL default 'france',
    sexe varchar(8) binary 	NOT NULL default '',
    naissance date 	NOT NULL default '0000-00-00',
    taille int(10) unsigned NOT NULL default '0',
    email varchar(64) NOT NULL default '',
    telephone varchar (16) NOT NULL default'',
    lv varchar(16) NOT NULL default'',
    PRIMARY KEY (ideleve),
    KEY nom (nom)
    )";
    mysql_query($sql);
    mysql_close($liendb);
     
    echo "table <eleve> créée";
     
    ?>

    Mais malheureusement j ai essayé les differentes combinaisons et cela ne fonctionne pas.
    Quelqu un peut il m aider ?
    merci d avance
    lo

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 770
    Points
    23 770
    Par défaut
    Bonjour,

    ALTER TABLE ne s'insère pas dans le script de création d'une table. C'est une commande qu'on exécute une fois que la table a déjà été créée.
    Il faut donc le mettre dans une autre commande, indépendamment et après le script de création.

    ced

  3. #3
    Membre du Club
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 58
    Points
    58
    Par défaut
    d apres ce que tu m' as dis, je suis completement perdu
    j ai deux autres scripts ensuite , l un pour les widjet l autre pour l envoi . je devine alors qu il faut le mettre sur le script de l envoi .

    script widjet :
    Code html : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <html>
    <head><title>ajouter un eleve</title></head>
    <body>
    <h1>ajouter un eleve:</h1>
    <form action="eleve_enregistre.php" method="post"
    enctype ="multipart/form-data">
     
    <label>nom</label>
    <input type="text" name="nom" /><br/>
     
    <label>prenom</label>
    <input type="text" name="prenom" /><br/>
     
    <label>adresse</label>
    <textarea name="adresse"></textarea><br/>
     
    <label>ville</label>
    <input type="text" name="ville" /><br/>
     
    <label>code postal</label>
    <input type="text" name="codepostal" /><br/>
     
     
    <label>pays</label>
    <input type="text" name="pays" /><br/>
     
     <label>sexe</label>
     <input type="radio" name="sexe" value="masculin" /> M 
     <input type="radio" name="sexe" value="feminin" /> F<br/>
     
     <label>date naissance</label>
     <input type="text" name="naissance" /><br/>
     
     <label>taille (cm)</label>
     <input type="text" name="taille" /><br/>
     
     <label>email</label>
     <input type="text" name="email" /><br/>
     
     <label>telephone</label>
     <input type="text" name="telephone" /><br/>
     
     
     <label>langue vivante</label>
     <select name="lv">
     <option value="anglais">anglais</option>
     <option value="espagnol">espagnol</option>
     <option value="allemand">allemand</option>
     
     </select><br/>
     
     <label>photo</label>
     <input type="file" name="photo" />
     <br/><br/>
     <input type="submit" value="enregistrer" />
     </form>
     </body>
     </html>

    script d'envoi :
    Code php : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
    if (is_uploaded_file($_FILES['photo']['tmp_name'])){
    move_uploaded_file($_FILES['photo']['tmp_name'],
    				   $_FILES['photo']['name']);
    		print("<center><img src='".$_FILES['photo']['name'].
    		"' /></center></hr>");}
    		else{
    		die("PROBLEMES D4ENVOI DU FICHIER.");}
     
     
    if(empty($_REQUEST['nom']) || empty($_REQUEST['prenom'] ) || 
    	empty($_REQUEST['adresse']) ||
    	 empty($_REQUEST['ville']) || 
    	 empty($_REQUEST['codepostal']) || 
    	 empty($_REQUEST['pays']) || 
    	 empty($_REQUEST['naissance']) || 
    	 empty($_REQUEST['telephone']) || 
    	 empty($_REQUEST['lv']))
     
     die("ERREUR : tous les champs doivent etre remplis.");
     
     if ($_REQUEST['sexe'] !="masculin" && 
    	$_REQUEST['sexe']!="feminin")
      die("ERREUR : choisissez votre sexe.");
     
      if(preg_match("/^[\w\.-]+@[\w\.-]+\.[a-z]{2,3}$/i",
      $_REQUEST['email']) ==false)
     
      die("ERREUR : ADRESSE E-MAIL NON VALIDE.");
     
      if($_REQUEST['taille']<=100 || $_REQUEST['taille']>=200)
      die("ERREUR : la taile n'est pas valide.");
     
      $liendb = mysql_connect("localhost","root", "");
      mysql_select_db ("test");
     
      $sql ="INSERT INTO eleve (nom, prenom, adresse, ville, cp, pays, sexe, naissance, taille, email, telephone, lv, photo)
      VALUES ('".$_REQUEST['nom']."','"
      .$_REQUEST['prenom']."','".$_REQUEST['adresse']."','"
      .$_REQUEST['ville']."','".$_REQUEST['codepostal']."','"
      .$_REQUEST['pays']."','".$_REQUEST['sexe']."','"
      .$_REQUEST['naissance']."','".$_REQUEST['taille']."','"
      .$_REQUEST['email']."','".$_REQUEST['telephone']."','"
      .$_REQUEST['lv']."','".$_FILES['photo']['name']."')";
     
      $ideleve = mysql_insert_id();
     
      if(mysql_query($sql)!=false){
     
      $ideleve = mysql_insert_id();
     
      print("eleve[$ideleve] <".$_REQUEST['nom'].">enregistré.");
      }
      else 
      print("ECHEC lors de la creation de la fiche.");
     
      mysql_close($liendb);
     
     ?>
    sauf que la je sais plus ou le mettre ....
    Si tu peux m aider
    merci d avance

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 770
    Points
    23 770
    Par défaut
    Ouh là ! Je pense qu'il y a pas mal de confusion dans les opérations que tu essaies de mener.
    Je ne sais pas quel livre PHP/MySQL tu étudies, mais il faut, je crois, bien séparer ce qui est du domaine de la gestion de la base de données MySQL des scripts de création et manipulation des données, en PHP.

    Les opérations de création et de maintenance des tables (création de tables, altération de tables, créations d'utilisateurs, ...) ne se font généralement pas via des scripts PHP, mais dans des outils d'administration (phpMyAdmin, MySQL Query Browser, console MySQL...).

    Je pense que ton livre essaie de te faire créer une table, puis de la modifier (ce qui se fait en SQL dans une console d'administration de la base), puis doit te faire créer un script PHP pour insérer les données dans la base et les manipuler.

    Mais si il te fait manipuler les tables de la base par du PHP, alors un conseil, change de bouquin pour débuter .

    ced

  5. #5
    Membre du Club
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 58
    Points
    58
    Par défaut
    le guide complet php5 3 eme edition :

    NOUVELLE ERREUR

    ENregardant bien si je laisse mon script d'origine sans rajouter ALTER..... la photo se crée dans mon repertoire ou se trouve mon script .. j en deduit que cela fonctionne et que ce n'est pas l'erreur car j ai d autres scripts .Depuis que j ai ajouté dans le script php eleve_enregistrement.php , $_Files['photo'] ['name...(dans VALUES de INSERT INTO à la fin)].... il me donne l echec de l envoi.... l erreur est dedans ....

    script widget :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    <html>
    <head><title>ajouter un eleve</title></head>
    <body>
    <h1>ajouter un eleve:</h1>
    <form action="eleve_enregistre.php" method="post"
    enctype ="multipart/form-data">
     
    <label>nom</label>
    <input type="text" name="nom" /><br/>
     
    <label>prenom</label>
    <input type="text" name="prenom" /><br/>
     
    <label>adresse</label>
    <textarea name="adresse"></textarea><br/>
     
    <label>ville</label>
    <input type="text" name="ville" /><br/>
     
    <label>code postal</label>
    <input type="text" name="codepostal" /><br/>
     
     
    <label>pays</label>
    <input type="text" name="pays" /><br/>
     
     <label>sexe</label>
     <input type="radio" name="sexe" value="masculin" /> M 
     <input type="radio" name="sexe" value="feminin" /> F<br/>
     
     <label>date naissance</label>
     <input type="text" name="naissance" /><br/>
     
     <label>taille (cm)</label>
     <input type="text" name="taille" /><br/>
     
     <label>email</label>
     <input type="text" name="email" /><br/>
     
     <label>telephone</label>
     <input type="text" name="telephone" /><br/>
     
     
     <label>langue vivante</label>
     <select name="lv">
     <option value="anglais">anglais</option>
     <option value="espagnol">espagnol</option>
     <option value="allemand">allemand</option>
     
     </select><br/>
     
     <label>photo</label>
     <input type="file" name="photo" />
     <br/><br/>
     <input type="submit" value="enregistrer" />
     </form>
     </body>
     </html>
     
    script eleve_enregistrement.php 
     
    <?php
    if (is_uploaded_file($_FILES['photo']['tmp_name'])){
    move_uploaded_file($_FILES['photo']['tmp_name'],
    				   $_FILES['photo']['name']);
    		print("<center><img src='".$_FILES['photo']['name']."' /></center></hr>");}
    		else{
    		die("PROBLEMES D ENVOI DU FICHIER.");}
     
     
    if(empty($_REQUEST['nom']) || empty($_REQUEST['prenom'] ) || empty($_REQUEST['adresse']) || empty($_REQUEST['ville']) || empty($_REQUEST['codepostal']) || empty($_REQUEST['pays']) ||empty($_REQUEST['naissance']) || empty($_REQUEST['telephone']) || empty($_REQUEST['lv']))
     
     die("ERREUR : tous les champs doivent etre remplis.");
     
     if ($_REQUEST['sexe'] !="masculin" && 
    	$_REQUEST['sexe']!="feminin")
      die("ERREUR : choisissez votre sexe.");
     
      if(preg_match("/^[\w\.-]+@[\w\.-]+\.[a-z]{2,3}$/i",
      $_REQUEST['email']) ==false)
     
      die("ERREUR : ADRESSE E-MAIL NON VALIDE.");
     
      if($_REQUEST['taille']<=100 || $_REQUEST['taille']>=200)
      die("ERREUR : la taile n'est pas valide.");
     
      $liendb = mysql_connect("localhost","root", "");
      mysql_select_db ("test");
     
      $sql ="INSERT INTO eleve (nom, prenom, adresse, ville, cp, pays, sexe, naissance, taille, email, telephone, lv, photo)
      VALUES ('".$_REQUEST['nom']."','".$_REQUEST['prenom']."','".$_REQUEST['adresse']."','".$_REQUEST['ville']."','".$_REQUEST['codepostal']."','".$_REQUEST['pays']."','".$_REQUEST['sexe']."','".$_REQUEST['naissance']."','".$_REQUEST['taille']."','".$_REQUEST['email']."','".$_REQUEST['telephone']."','".$_REQUEST['lv']."','".$_FILES['photo']['name']."')";
     
     $ideleve = mysql_insert_id();
     
      if(mysql_query($sql)!=false){
     
      $ideleve = mysql_insert_id();<ital></ital>
     
      print("eleve[$ideleve] <".$_REQUEST['nom'].">enregistré.");
      }
      else 
      print("ECHEC lors de la creation de la fiche.");
     
      mysql_close($liendb);
      ?>
    Dur dur les premiers pas ....

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 770
    Points
    23 770
    Par défaut
    Tout ça se fait dans un outil de gestion de la base de données MySQL : Query Browser, phpMyAdmin... Effectivement, si tu essaies systématiquement de passer par un script PHP, tu n'es pas au bout de tes peines .
    Regarde dans la page des outils de MySQL.

    ced

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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