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 :

Enregistrement lien photo dans base de données [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Enregistrement lien photo dans base de données
    bonjour tout le monde,

    je réalise un site web marchand(vente de moto...) en PHP orienté objet avec une base de données MySql.

    Lorsque l'administrateur donc moi souhaite ajouter un article dans ma base de données(via une page PHP), je rentre bien évidemment toute les informations concernant cette article et en choississant l'image de l'article mais malheureusement l'article s'enregistre dans la base mais pas le lien de l'image.

    Voici le code du controle permettant d'ajouter un article :
    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
    <?php
    	require_once("../../Les_utilitaires/Connexion.php");
    	require_once("../../Les_classes/class_categorie.php");
    	require_once("../../Les_DAO/DAO_categorie.php");
    	require_once("../../Les_classes/class_article.php");
    	require_once("../../Les_DAO/DAO_article.php");
     
    if (($_POST['Code_cat']=="")||($_POST['prix_art']=="")||($_POST['marque_art']=="")||($_POST['modele_art']=="")||($_POST['cylindre_art']=="")||($_POST['design_art']=="")||($_POST['nom']==""))
    {
    	?>
    	<script language="javascript">
    		alert('Veuillez saisir les renseignements concernant larticle');
    		document.location.href='../../index_admin.php?action=insert_article';
    	</script>
    	<?php
    }
    else
    {
    	$article = DAO_Article::NouvelleArt();
     
    	// Instance d'un article
    	$monarticle = new article($_POST['Code_cat'], $article, $_POST['prix_art'], $_POST['marque_art'], $_POST['modele_art'], $_POST['cylindre_art'], $_POST['design_art'], $_FILES['photo_art'], $_POST['nom']);
     
    		if ((isset($_FILES['photo_art'])&&($_FILES['photo_art']!="")))
    	{
    		$dest_base = 'image/'.$_FILES['photo_art']['name'];
    		$Art=article::set_photo($dest_base);
      		$dest_path = '../../images_moto/' . $_FILES['photo']['name'];
      		move_uploaded_file($_FILES['photo_art']['tmp_name'], $dest_path);
    	}
     
    	$MonArt = DAO_Article::SauvegarderArticle($monarticle);
    	?>
        <script language="javascript">
    		document.location.href='../../index_admin.php?action=liste_article';
    	</script> 
    	<?php
    }
    ?>
    Avez-vous une idée du pourquoi cela fonctionne pas??

    Merci d'avance!!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il nous manque Sauvegarder article dans ton code.

    Quand tu dis que le lien ne s'enregistre pas ? le champ est vide ou il est faux ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à sabotage
    Il nous manque Sauvegarder article dans ton code.
    Voici la méthode qui appartien à la classe 'DAO_Article' :
    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
    // Enregistrer un article
    		public static function SauvegarderArticle($objArticle)
    		{
    			$categ=$objArticle->get_lacategorie();
    			$id=$objArticle->get_IdArt();
    			$prix=$objArticle->get_prixHT();
    			$marque=$objArticle->get_marque();
    			$modele=$objArticle->get_modele();
    			$cylindre=$objArticle->get_cylindre();
    			$designation=$objArticle->get_designation();
    			$photo=$objArticle->get_photo();
    			$type=$objArticle->get_type();
     
    			if (DAO_Article::ExisteUnArticle($id))
    			{
    				$req="UPDATE article SET";
    				$req=$req." CODECAT='$categ'";
    				$req=$req.", A_ID=$id";
    				$req=$req.", A_PRIXHT='$prix'";
    				$req=$req.", A_MARQUE='$marque'";
    				$req=$req.", A_MODELE='$modele'";
    				$req=$req.", A_CYLINDRE='$cylindre'";
    				$req=$req.", A_DESIGNATION='$designation'";
    				$req=$req.", A_Photos='$photo'";
    				$req=$req.", A_Type='$type'";
    				$req=$req." WHERE A_ID=$id";		
    				echo $req. "<br/>";
    				$res = mysql_query($req);
    			}
    			else
    			{	
    				$req="INSERT INTO article VALUES ('$categ',$id,'$prix','$marque','$modele','$cylindre','$designation','$photo','$type')";
    				//echo $req. "<br/>";
    				$res = mysql_query($req);
    			}
    		}
    Quand tu dis que le lien ne s'enregistre pas ? le champ est vide ou il est faux ?
    le champ 'A_Photos' de la table 'article' de ma base de données est vide. alors que je souhaiterais qu'elle obtienne comme valeur 'images_moto/nomDeL'Image.jpg'

    Cordialement!!

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est ce qu'on peut voir get_photo() ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à sabotage
    Est ce qu'on peut voir get_photo() ?
    mais bien entendu.
    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
    <?php
    class article{
    private $Str_Photo;		  // La photo appartenant à l'article
    // Constructeur
    	public function article($lacat=null, $IdArt=null, $prix=null, $mark=null, $model=null, $cylindre=null, $des=null, $photo=null, $type=null)
    	{
    		$this->Obj_categorie = $lacat;
    		$this->Int_IdArt = $IdArt;
    		$this->Dec_prixHT = $prix;
    		$this->Str_marque = $mark;
    		$this->Str_modele = $model;
    		$this->Int_cylindre = $cylindre;
    		$this->Str_designation = $des;
    		$this->Str_Photo = $photo;
    		$this->Str_type = $type;
    	}
     
    // Getteurs
    public function get_photo()
    	{
    		return $this->Str_Photo; 
    	}
    ......
    }
    J'espère que cela vous permettra de m'aider!!

    Cordialement

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si je suis bien, article() prend comme parametre $_FILES['photo_art'] qui est un tableau qui finit en $photo qui est la valeur inserée dans ta base.

    Est ce que ce n'est pas plutot $dest_path qu'il faudrait passer ?
    D'ailleurs dans ton $dest_path je vois un $_FILES['photo'] au lieu de $_FILES['photo_art']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Enregistrer du PHP dans Base de données?
    Par jojo86 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/07/2011, 11h07
  2. Réponses: 3
    Dernier message: 17/02/2011, 09h54
  3. [MySQL] Insertion lien image dans base de données
    Par Addict` dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/02/2009, 13h40
  4. Réponses: 11
    Dernier message: 05/05/2008, 11h42
  5. stockage de photos dans base de données ou dans un répertoir
    Par papy_tergnier dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 08/12/2005, 16h22

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