Introduire une photo dans une base mysql
Fermé
lorant59
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012
-
1 avril 2009 à 20:44
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012 - 2 avril 2009 à 18:09
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012 - 2 avril 2009 à 18:09
A voir également:
- Introduire une photo dans une base mysql
- Flouter une photo - Guide
- Traduction photo - Guide
- Photo filtre gratuit - Télécharger - Retouche d'image
- Formules excel de base - Guide
- Comment reduire la taille d'une photo - Guide
3 réponses
Slt à toi !!!
Alors en faite, tu créer ici une table élève dans ta base de donnée -> test
Tu modifie ensuite cette table (ALTER) pour lui ajouter un champ (photo).
Ce que tu va stocker en faite dans ta base de donnée, ce n'est pas une photo, mais l'emplacement ou se situera la photo, ou encore simplement son nom.
Cela dit, voici une requête SQL correct ;)
CREATE TABLE eleve (
ideleve int(10) primary key auto_increment,
nom varchar(64) NOT NULL,
prenom varchar(64) NOT NULL,
adresse varchar(128) NOT NULL,
ville varchar(64) NOT NULL,
cp varchar(8) NOT NULL,
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL,
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL,
telephone varchar (16) NOT NULL,
lv varchar(16) NOT NULL
);
ALTER TABLE eleve ADD photo VARCHAR(64) NULL;
Alors en faite, tu créer ici une table élève dans ta base de donnée -> test
Tu modifie ensuite cette table (ALTER) pour lui ajouter un champ (photo).
Ce que tu va stocker en faite dans ta base de donnée, ce n'est pas une photo, mais l'emplacement ou se situera la photo, ou encore simplement son nom.
Cela dit, voici une requête SQL correct ;)
CREATE TABLE eleve (
ideleve int(10) primary key auto_increment,
nom varchar(64) NOT NULL,
prenom varchar(64) NOT NULL,
adresse varchar(128) NOT NULL,
ville varchar(64) NOT NULL,
cp varchar(8) NOT NULL,
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL,
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL,
telephone varchar (16) NOT NULL,
lv varchar(16) NOT NULL
);
ALTER TABLE eleve ADD photo VARCHAR(64) NULL;
lorant59
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012
2 avril 2009 à 14:11
2 avril 2009 à 14:11
CELA NE FONCTIONNE PAS il m'indique : Parse error: syntax error, unexpected T_STRING in .... du coup erreur de syntaxe
lorant59
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012
2 avril 2009 à 18:09
2 avril 2009 à 18:09
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 :
<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();
print("eleve[$ideleve] <".$_REQUEST['nom'].">enregistré.");
}
else
print("ECHEC lors de la creation de la fiche.");
mysql_close($liendb);
?>
Dur dur les premiers pas .... ;-)
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 :
<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();
print("eleve[$ideleve] <".$_REQUEST['nom'].">enregistré.");
}
else
print("ECHEC lors de la creation de la fiche.");
mysql_close($liendb);
?>
Dur dur les premiers pas .... ;-)