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 :

insertion dans une bdd mysql


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut insertion dans une bdd mysql
    Bonjour,

    Depuis quelques semaines, j'ai eu un problème d'insertion sur ma bdd. En fait, je voudrais insérer des données dans ma base et pour cela je les insère dans une boucle FOR.
    Le pbm c'est que l'insertion ne prend que la dernière donnée de la boucle.
    Quelqu'un pourrait m'aider stp !!!

    Au début, j'ai ajouter un champs FILE à chaque fois que l'utilisateur voudrait insérer plus d'images mais face à ce pbm, j'ai essayé de mettre deux champs FILE pour le tester mais c'est toujours pareil.

    voici mes codes :

    HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Photo 1 :   <input class="ref" name="mesImages" id="mesImages" value="" type="file"  style="height:20px!important"/> <br />
    Photo 2 :   <input class="ref" name="mesImages2" id="mesImages2" value="" type="file"  style="height:20px!important"/> <br />

    PHP

    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 (Util::getFile('mesImages')!=""){
    	list($nomImg,$extension) = explode(".",basename(Util::getFile('mesImages')));
    	$name_base = pathinfo($_FILES['mesImages']['name'], PATHINFO_BASENAME);   // On récupère juste le nom sans l’extension.
    	$name_temp = hash("sha256", session_id().microtime($name_base));
    	$upload=Util::upload_file_album('mesImages',_IMG_ALBUM_,_PRE_IMG_ALBUM_.$evenement_id."_".$name_temp,$extension);
    	if ($upload!=false)	{
    $upload=str_replace("../","",$upload);
    $albumphoto->save('update',array('image'=>$upload),array('id'=>$new_id));
    	}
    }
     
    if (Util::getFile('mesImages2')!=""){
    	list($nomImg,$extension) = explode(".",basename(Util::getFile('mesImages2')));
    	$name_base2 = pathinfo($_FILES['mesImages2']['name'], PATHINFO_BASENAME);   // On récupère juste le nom sans l’extension.
    	$name_temp2 = hash("sha256", session_id().microtime($name_base2));
    	$upload2=Util::upload_file_album('mesImages2',_IMG_ALBUM_,_PRE_IMG_ALBUM_.$evenement_id."_".$name_temp,$extension);
     
    if ($upload2 != false)	{
    	$upload2 = str_replace("../","",$upload2);
    	$albumphoto->save('insert',array('image'=>$upload2),array('id_evenement'=>$evenement_id,'actif'=>$actif,'ordre'=>1));
    }
    }
    NB : j'utilise la librairie DALPEER, SQLREQUEST pour ma connexion

    Merci pour votre aide !!!

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Util::getFile ça fait quoi ?

    t'es sur de ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $upload=Util::upload_file_album('mesImages',_IMG_ALBUM_,_PRE_IMG_ALBUM_.$evenement_id."_".$name_temp,$extension);
    //...
    $upload2=Util::upload_file_album('mesImages2',_IMG_ALBUM_,_PRE_IMG_ALBUM_.$evenement_id."_".$name_temp,$extension);
    j'espère que tout ça emballe un move_uploaded_file() et non un simple move().
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    GetFile retourne tout simplement

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    voici le code de move_upload que j'ai utilisé
    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
    	public static function upload_file_album($nom_champ,$content_dir,$nom,$type){
     
    		if(file_exists($content_dir.$nom.".$type"))
    			$ancienne_img = $content_dir.$nom.".$type";
     
    		if(!empty($_FILES[$nom_champ]['name']))	{
     
    			$tmp_file = $_FILES[$nom_champ]['tmp_name'];
    			if(isset($_FILES[$nom_champ]) && ($_FILES[$nom_champ]['name']!=""))	{
    				if(!is_uploaded_file($tmp_file) ){
    					echo "<script language=\"javascript\"
    					type=\"text/javascript\">
    					alert(\"Le fichier est introuvable.\");
    					history.back();</script>";
    				}
    				if ($_FILES[$nom_champ]['type'] == "application/pdf")
    					$extension = ".pdf";
    				else
    					$extension = ".$type";
     
    				$filename = $nom.$extension;
     
     
     
    				if(move_uploaded_file($tmp_file, $content_dir.$filename)){
    					$newfiles = $content_dir.$filename;
    					chmod($newfiles,0777);//644
    				}
    				else{
    					echo "<script language=\"javascript\" type=\"text/javascript\">
    					alert(\"".$tmp_file." ".$content_dir.$filename."
    					Problème de copie au niveau du serveur.\")</script>";
    				}
    				if($newfiles <> $ancienne_img && $ancienne_img!="")
    				{unlink($ancienne_img);}//Supprimer l'ancienne.
     
    				return $filename;
    			}
     
    		}
    	}
    en fait, tout cela fonctionne très bien quand j'insère un simple enregistrement mais une fois que je mets ma requête d'insertion dans une boucle. le problème apparaît, il n'insère que le dernier enregistrement

Discussions similaires

  1. Erreur lors de l'insert dans une BDD MySQL
    Par gagaz21 dans le forum C#
    Réponses: 4
    Dernier message: 16/07/2011, 00h10
  2. insertion dans une BDD MySQL en java
    Par Sanaa25 dans le forum Général Java
    Réponses: 2
    Dernier message: 08/03/2010, 12h43
  3. [MySQL] encodage lors d'une insertion dans une BDD Mysql
    Par Halex78 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/11/2008, 13h54
  4. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15

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