begin process at 2012 05 28 15:29:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

ajouter des images


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ajouter des images

mercredi 27 avril 2011 à 21:14:41 | ajouter des images

samia22

Bonsoir;

j'ai un probleme...
je travaille coté administrateur...
j'ajout des produits a la base de données avec ses images...

l'ajout de produits marche bien...
mais le probleme est l'image de chaque produit ne s'affiche pas...
*je suis tres nerveux...

aidez moi ..

php:5.3.3.5
la table produit :idproduit int(12) auto_increment
reference varchar(20)
nomprodui tvarchar(20)
description varchar(20)
prix double
idcategorie int(12) clé etrangere de table catégorie
marque varchar(20)
promotion varchar(20)
TVA double
img blob

Voici le code d'ajout:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ajouter un produit</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
include('fonctions.php');
session_start();
if(isset($_SESSION['login'])){


?>
<center>
<h3>Ajouter un nouveau produit</h3>
<form action="ajouter.php" method="POST">
<table border="1" bgcolor="#FF0080">
<tr><th>Catégorie</th><td>
<select name="titre">
<?php

connexion();
$query = 'SELECT * FROM `categorie` WHERE `idcategorie`<>`titre`;';
$result = mysql_query($query) or die("erreur!!");
$i = 0;
while($row = mysql_fetch_row($result)){
$i++;
echo "<option value=\"".$row[0]."\">".$row[1];
}
if($i == 0){
?>
<script type="text/javascript">
alert("aucune categorie disponible!!");
window.location.replace("GestionProduits.php");
</script>
<?php
}
mysql_close();
?>
</select>
</td>

<tr><th>Réference:</th><td><input type="text" name="reference"></td></tr>
<tr><th>Nom:</th><td><input type="text" name="nomproduit"></td></tr>
<tr><th>Description</th>:</th><td><input type="text" name="description"></td></tr>
<tr><th>Prix:</th><td><input type="text" name="prix"></td></tr>
<tr><th>Marque:</th><td><input type="text" name="marque"></td></tr>
<tr><th>Promotion:</th><td><input type="text" name="promotion"></td></tr>
<tr><th>Quantité Stock:</th><td><input type="text" name="QteStock"></td></tr>
<tr><th>TVA:</th><td><input type="text" name="TVA"></td></tr>
<tr><th>image:</th><td><input name="img" type="file"></td></tr>
</table>
<br>
<input type="submit" value="Ajouter"> &nbsp;&nbsp;<input type="reset" value="Effacer">
</form>
</center>
<?php

if(isset($_POST['titre']) and isset($_POST['reference']) and isset($_POST['nomproduit']) and isset($_POST['description']) and isset($_POST['prix'])
and isset($_POST['marque']) and isset($_POST['promotion']) and isset($_POST['QteStock']) and isset($_POST['TVA']) and isset($_POST['img']))
{
if(!empty($_POST['titre']) and !empty($_POST['reference']) and !empty($_POST['nomproduit']) and !empty($_POST['description']) and !empty($_POST['prix'])
and !empty($_POST['marque']) and !empty($_POST['promotion']) and !empty($_POST['QteStock']) and !empty($_POST['TVA']) and !empty($_POST['img']))
{
connexion();
$sql1="select * from produit where reference='".$_POST['reference']."'";
$resultat=mysql_query($sql1) or die('erreur');
if(mysql_num_rows($resultat)==0)
{
$sql2="insert into produit(reference,nomproduit,description,prix,idcategorie,marque,promotion,QteStock,TVA,img) values('".$_POST['reference']."','".$_POST['nomproduit']."','".$_POST['description']."','".$_POST['prix']."',
'".$_POST['titre']."','".$_POST['marque']."','".$_POST['promotion']."','".$_POST['QteStock']."','".$_POST['TVA']."','".$_POST['img']."')";
mysql_query($sql2);
deconnexion();
alerte("Le produit ".$_POST['nomproduit']." est ajouté avec succés");
}
else
alerte('le produit existant');
}
else
alerte('Remplir les champs');
}

?>
</body>
</html>
<?php
}else{
?>
<script language="javascript" type="text/javascript">
<!--
window.location.replace("index.php");
-->
</script>
<?php
}
?>

merci bien
mercredi 27 avril 2011 à 22:13:22 | Re : ajouter des images

cod57

BONSOIR
dans <form ...
il anque déjà
ENCTYPE = "multipart/form-data"
a++

Bonne programmation !
mercredi 27 avril 2011 à 22:21:09 | Re : ajouter des images

cod57

et faudrait un truc comme ça pour enregistrer

$img = "image.jpg";
$fp = fopen($img,"r");
$data = fread($fp,filesize($img));
fclose($fp);
$data = addslashes($data);

puis insert $data


mais le blob pour stocker des images c'est pas conseiller mieux
stocker un lien vers le repertoire qui contient l'image ...

Bonne programmation !
jeudi 28 avril 2011 à 06:24:36 | Re : ajouter des images

samia22

bonjour;
desolé ca marche pas
voici le code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ajouter un produit</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
include('fonctions.php');
session_start();
if(isset($_SESSION['login'])){


?>
<center>
<h3>Ajouter un nouveau produit</h3>
<form action="ajouter.php" method="POST" ENCTYPE = "multipart/form-data" >
<table border="1" bgcolor="#FF0080">
<tr><th>Catégorie</th><td>
<select name="titre">
<?php

connexion();
$query = 'SELECT * FROM `categorie` WHERE `idcategorie`<>`titre`;';
$result = mysql_query($query) or die("erreur!!");
$i = 0;
while($row = mysql_fetch_row($result)){
$i++;
echo "<option value=\"".$row[0]."\">".$row[1];
}
if($i == 0){
?>
<script type="text/javascript">
alert("aucune categorie disponible!!");
window.location.replace("GestionProduits.php");
</script>
<?php
}
mysql_close();
?>
</select>
</td>

<tr><th>Réference:</th><td><input type="text" name="reference"></td></tr>
<tr><th>Nom:</th><td><input type="text" name="nomproduit"></td></tr>
<tr><th>Description</th>:</th><td><input type="text" name="description"></td></tr>
<tr><th>Prix:</th><td><input type="text" name="prix"></td></tr>
<tr><th>Marque:</th><td><input type="text" name="marque"></td></tr>
<tr><th>Promotion:</th><td><input type="text" name="promotion"></td></tr>
<tr><th>Quantité Stock:</th><td><input type="text" name="QteStock"></td></tr>
<tr><th>TVA:</th><td><input type="text" name="TVA"></td></tr>
<tr><th>image:</th><td><input name="img" type="file"></td></tr>
</table>
<br>
<input type="submit" value="Ajouter"> &nbsp;&nbsp;<input type="reset" value="Effacer">
</form>
</center>
<?php

if(isset($_POST['titre']) and isset($_POST['reference']) and isset($_POST['nomproduit']) and isset($_POST['description']) and isset($_POST['prix'])
and isset($_POST['marque']) and isset($_POST['promotion']) and isset($_POST['QteStock']) and isset($_POST['TVA']) and isset($_POST['img']))
{
if(!empty($_POST['titre']) and !empty($_POST['reference']) and !empty($_POST['nomproduit']) and !empty($_POST['description']) and !empty($_POST['prix'])
and !empty($_POST['marque']) and !empty($_POST['promotion']) and !empty($_POST['QteStock']) and !empty($_POST['TVA']) and !empty($_POST['img']))
{
connexion();
$img = "image.jpg";
$fp = fopen($img,"r");
$data = fread($fp,filesize($img));
fclose($fp);
$data = addslashes($data);



$sql1="select * from produit where reference='".$_POST['reference']."'";
$resultat=mysql_query($sql1) or die('erreur');
if(mysql_num_rows($resultat)==0)
{
$sql2="insert into produit(reference,nomproduit,description,prix,idcategorie,marque,promotion,QteStock,TVA,img) values('".$_POST['reference']."','".$_POST['nomproduit']."','".$_POST['description']."','".$_POST['prix']."',
'".$_POST['titre']."','".$_POST['marque']."','".$_POST['promotion']."','".$_POST['QteStock']."','".$_POST['TVA']."','".$data."')";
mysql_query($sql2);
deconnexion();
alerte("Le produit ".$_POST['nomproduit']." est ajouté avec succés");
}
else
alerte('le produit existant');
}
else
alerte('Remplir les champs');
}

?>
</body>
</html>
<?php
}else{
?>
<script language="javascript" type="text/javascript">
<!--
window.location.replace("index.php");
-->
</script>
<?php
}
?>
jeudi 28 avril 2011 à 11:24:21 | Re : ajouter des images

cod57

bonjour

je traite que l'insertion
il faudra faire un header() ...
pour l'affichage du blob
neamoins tu peux verifier que ça marche
...

pour le reste cherche afficher un champs blob
sinon reposte ...

a++

Code PHP :
<?php
//j'ai une table bidon qui reprend tes champs

/*
CREATE TABLE IF NOT EXISTS `produit` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `reference` varchar(50) NOT NULL,
  `nomproduit` text NOT NULL,
  `description` varchar(50) NOT NULL,
  `prix` float NOT NULL,
  `idcategorie` varchar(50) NOT NULL,
  `marque` varchar(50) NOT NULL,
  `promotion` varchar(5) NOT NULL,
  `QteStock` int(11) NOT NULL,
  `Tva` float NOT NULL,
  `img` longblob NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

*/  


mysql_connect('localhost','root','');
mysql_select_db('blob'); /*ici la tienne*/

if(isset($_GET['voir']) && !empty($_GET['voir'])){
 
 $last=(int)($_GET['voir']);
 $s=mysql_query("select img from produit where id='".$last."'");
    $r=mysql_fetch_array($s);
       
    if($r['img']!=""){
    
    $f=list($name,$type,$size,$content)=$r['img'];
    print_r($f);
    }else{
    //echo "rien";
    }
    
}else{
}

$msg="";

if (isset($_FILES['img']) && !empty($_FILES['img']['tmp_name']) ){

    $data = file_get_contents($_FILES['img']['tmp_name']);
    $data = mysql_real_escape_string($data);
    $msg = 'image chargée';
  
}else{
$data='';
$msg='pas d\'image chargée';
}

echo '<center>'.$msg.'</center><br />';


/*le formulaire est envoyé*/

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

  $_POST['titre']="un titre";
  
  $sql2="insert into produit(reference,nomproduit,description,prix,idcategorie,marque,promotion,QteStock,TVA,img) values('".$_POST['reference']."','".$_POST['nomproduit']."','".$_POST['description']."','".$_POST['prix']."', 

  '".$_POST['titre']."','".$_POST['marque']."','".$_POST['promotion']."','".$_POST['QteStock']."','".$_POST['TVA']."','".$data."')"; 

    if(mysql_query($sql2)){
    echo '<center>LIGNE INSERÉE  <a href="'.$_SERVER['PHP_SELF'].'">RETOUR AU FORMULAIRE</a></center>';
    unset($_POST);  /*verif image blob*/
    
    $last=mysql_insert_id();
    
    echo '<center><hr><a href="?voir='.$last.'">Verifier  + Voir l\'image</a></center><br />';
      
    }else{
    exit('ouuu !');
    }




/*sinon affichage du form*/

}else{?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Ajouter un produit</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 
<center> 
<h3>Ajouter un nouveau produit</h3>
<form action="" method="POST" ENCTYPE="multipart/form-data" />
<table border="1" bgcolor="#FF0080">
<tr><th>Catégorie</th><td> 
<select name="titre"> 
</select> 
</td> 

<tr><th>Réference:</th><td><input type="text" name="reference"></td></tr> 
<tr><th>Nom:</th><td><input type="text" name="nomproduit"></td></tr> 
<tr><th>Description</th></th><td><input type="text" name="description"></td></tr> 
<tr><th>Prix:</th><td><input type="text" name="prix"></td></tr> 
<tr><th>Marque:</th><td><input type="text" name="marque"></td></tr> 
<tr><th>Promotion:</th><td><input type="text" name="promotion"></td></tr> 
<tr><th>Quantité Stock:</th><td><input type="text" name="QteStock"></td></tr> 
<tr><th>TVA:</th><td><input type="text" name="TVA"></td></tr> 
<tr><th>image:</th><td><input name="img" type="file"></td></tr> 
</table> 
<br> 
<input type="submit" value="Ajouter" name="sub"> &nbsp;&nbsp;<input type="reset" value="Effacer"> 
</form> 
</center> 
</body> 
</html> 
<?php
}
?>



Bonne programmation !
jeudi 28 avril 2011 à 11:42:07 | Re : ajouter des images

samia22

Bonjour;

je teste votre code ...
le produit s'ajoute dans la base de donnée...
mais il s'affiche
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.3\www\boutiqueWMC\administrateur\ajouter.php on line 9
( $r=mysql_fetch_array($s);)

et lorsque j'affiche l'image...il n'affiche pas l'image ..il m'affiche des caracteres n'importe quoi...

jeudi 28 avril 2011 à 11:59:49 | Re : ajouter des images

cod57


en effet

les caracteres n'importe quoi c'est l'image
il faut avoir une fonction header() qui transforme les caractères en image
donc si tu verifies dans ta base via (ex phpmyadmin) tu as un champs blob
avec l'image au format brute
il faut remettre au format image pour afficher

/*attention ici jpg*/
header("Content-type: image/jpg");
print $row['image'];

si tu utilises mon code tel quel il marche tu as du mal adapter
mais il est que educatif ! donc

en realité si c'est pour un catalogue produit tu devrais pas utiliser
blob mais mettre le lien ou le nom du fichier uploadé par 'file' dans la base en varchar et uploader l'image dans un repertoire
blob va remplir ta base tres rapidement et les hebergeurs bloque les bases trop importantes, 20 images et ta base est saturée ...


Bonne programmation !
jeudi 28 avril 2011 à 12:08:47 | Re : ajouter des images

cod57


http://www.phpriot.com/articles/images-in-mysql
un lien et un cours assez long

Bonne programmation !
jeudi 28 avril 2011 à 12:26:39 | Re : ajouter des images

samia22

merci cod54;
pour votre intention...

et merci pour votre aide


bonne journée


Cette discussion est classée dans : images, ajouter, ajout, produit, varchar


Répondre à ce message

Sujets en rapport avec ce message

Gestion d'images : suppression / ajout [ par NaeiKinDus ] Salut tout le monde ! J'aurais aimé avoir une petite aide concernant un projet que j'ai posté sur la parti sources : avec un ami nous avons crée un bl Ajout de données dans table [ par magescq ] Bonjour, tout nouveau sur le site, voici mon "problème" :Je souhaite ajouter directement via l'interface "PhpMyAdmin" des données dans une table que j AJOUT [ par ewilan80 ] Quel(s) type(s) voulez-vous ajouter? Choississez dans la liste ci-dessous: <input id="choix[grammage]" type="checkbox" value=" Question idiote ? Je sais pas.... [ par morris42 ] Bonjour à tous,J'ai passé plusieurs heures à réfléchir sur ma base Mysql.J'ai transformé des VARCHAR (255) en CHAR(12) lorsque ma donnée semblait le s problem récuperation des images [ par djongar ] salut tout le monde, j'ai un problème qui me rend fou j'ai une base de donnée où j'ai enregistrer les détails où il existe un champ d'images sur les a Probleme AJAX - Lightbox [ par krolenain ] Salut tout le monde,Petite question parce que là je galère un peu et j'ai peur qu'il n'y ait pas de solutions.Je suis en train de faire une page de di affichage d'images [ par chezcodessources ] Bonjour je veux afficher des images sur mon site de la méme façon que celles qui s'affichent chez youtube dans la rubrique "vidéos visionnées en ce mo Vérifier l'existence d'un fichier swf avec php [ par The_magicien ] Bonjour à tous,Je vous explique mon problème.J'ai créé un petit script pour des concours graphiques (un lien est envoyé puis mis sur BDD).A savoir que Requête qui rend fou [ par clemg ] Bonjour à tous, Voici mon problème : j'essaye de réaliser une requête toute simple, comme il y en a sur toutes les pages de mon site : insérer une ent affichage de plusieurs images sur un meme emplacement [ par yodasky ] Bonjour je vais faire simple, je voudrai faire ça: http://www.papvacances.fr/location-st-gervais-bains-0419618.htm c'est a dire plusieurs photos minia


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,898 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales