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

Langage PHP Discussion :

Update Titre img après Upload multiple


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut Update Titre img après Upload multiple
    Bonjour,
    avançant dans mon apprentissage du Php, je me tourne vers vous pour vous demandez une petite aide sur une requete.

    Je peux uploader 1 ... ou plusieurs images.
    Les images après traitement apparaissent sur une page : detail-upload.php

    Dans cette page j'affiche : un titre (à compléter) et l'image.
    Le problème provient de l'envoi du formulaire aux fichier qui doit faire l'update. Il ne boucle pas la requete et je ne vois pas trop comment je pourrais faire.


    detail-upload.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
    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
     
    <form method="post" action="../formulaire/img-update.php">
                                        	<table>
                                        		<tbody>
    	<div align="center">
     
    	<?php 
    		if(ctype_digit($_POST['rand'])){
    		// Appel de la fonction de connexion à la BDD	
    		include_once("../config/connexpdo.inc.php");
    		try
    			{
    			//connexion BDD
    			$bdd = connexpdo ('phototheque','myparam');
     
    			// Déclaration variable
    			$rand = ($_POST['rand']);
    			$IdPS = ($_POST['id']);
    			//Requete préparé pour trouver l'ID département
    			$requete_prepare_1=$bdd->prepare("SELECT IdImg,fichier,titre,commentaire,session,IdPS
    							FROM image WHERE session = ? ORDER BY IdImg"); // on prépare notre requête
    			$requete_prepare_1->execute(array($rand));
    			while ($row = $requete_prepare_1->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
    			$data = $row[0].$row[1]. $row[2]. $row[3]. $row[4] . $row[5];
    			$IdImg = $row[0];
    			$fichier = $row[1];
    			$titre = $row[2];
    			$commentaire = $row[3];
    			$session = $row[4];
    			$IdPs = $row[5];
     
    			?>	
    			<tr>
    			<td style="padding-left: 20px; padding-right: 20px;">
    				<input type="hidden" id="idimg" name="idimg" value="<?php echo $IdImg; ?>">
    				<input type="hidden" id="idps" name="idps" value="<?php echo $IdPs; ?>">
    			Titre : <input type="text" id="titre" name="titre" maxlength="50" value=""><br />
    			</td>
     
    			<td style="padding: 20px;"><div align="center"><img src="../photographies/<?php echo $IdPS; ?>/<?php echo $fichier; ?>" alt="image" /></div></td></tr>
    			<?php	} ?>
    				<tr><td colspan="2"><input type="submit" value="Modifier les informations" /></td></tr>
    			<?php	} 
    				catch(Exception $e)
    										{
    											die('Erreur : '.$e->getMessage()); //En cas d'erreur précédemment, on affiche un message et on arrête tout
    										}
    										}else{
     
    										echo 'Votre session est invalide'; }
    ?>
     
    											</div>
                                       		</tbody></table>
    			</form>
    Traitement après envois du formulaire:




    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
     
    <?php
    //initialisation des variable
    session_start();
     
    // Appel de la fonction de connexion à la BDD	
    	include_once("../config/connexpdo.inc.php");
    // Appel de la fonction Majuscule et accent	
    include("../fonction/mise_majuscule.php");
    // Récupération des variables
    //Declaration variables
    	$Titre=ucfirst(($_POST['titre']));	
    	$IdImg=($_POST['idimg']);
    	$IdPS=($_POST['idps']);
     
    // Traitement des données envoyées
    //Vérification que le mot de passe soit le meme que la confirmation
    			try
    				{
    					//connexion BDD
    					$bdd = connexpdo ('phototheque','myparam');
    					$queryPassword = $bdd->exec("UPDATE image SET titre='$Titre' WHERE IdImg='$IdImg'"); 
     
     
    							//Information et re-direction	
    							echo "<script type=\"text/javascript\">
    							alert('Images mise à jour. ')</script>";
     
    				}
    			catch(Exception $e)
    				{
    					die('Erreur : '.$e->getMessage()); //En cas d'erreur précédemment, on affiche un message et on arrête tout
    				}
     
    	//redirection
    	echo '<meta http-equiv="refresh" content="0; url=../admin/edit-poste-source.php?id=' . rawurlencode($IdPS) . '">';
     
    ?>

    Seul le titre de la dernière image est uploadé.

    Merci à vous

  2. #2
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    si j'ai bien compris ton code, c'est normale que tu modifies que le dernier élément. Si tu veux modifier tous les éléments, il faudra que tu récupères un tableau d'informations.

    Pour cela, dans ta boucle while de detail-upload.php tu dois changer les input:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <td style="padding-left: 20px; padding-right: 20px;">
        <input type="hidden" id="idimg[]" name="idimg" value="<?php echo $IdImg; ?>">
        <input type="hidden" id="idps" name="idps[]" value="<?php echo $IdPs; ?>">
        Titre : <input type="text" id="titre" name="titre[]" maxlength="50" value=""><br />
    </td>
    ainsi tu pourras récupérer un tableau d'élément. Après il faudra que tu fasses un boucle qui parcours tous ces tableaux et qui update chaque information.

    voila en espérant t'avoir aider
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    Oui c’est bien je ne sais pas comment affecter l'update à tous les titre suivant l'Id de l'image car il garde en mémoire que le dernier

    Je vais essayé de voir avec ce que tu m'as mis et je te tiens au courant.


    merci amis motard :p (du moins je suppose vue ton avatar)

  4. #4
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par bouuuh Voir le message
    merci amis motard :p (du moins je suppose vue ton avatar)
    bien vue
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  5. #5
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    n'oubliez pas le tag résolu si ça fonctionne
    sinon j'aurais pas dis mieux bien que je prefere (pour les fichiers) plusieurs champ avec un nom différents plutot qu'un nom avec indice, mais c'est un avis personnel
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    J'ai pas encore mis en place mon code pour le réaliser,
    si cela fonctionne j'oublierai pas la balise résolu


    Juste un précision :

    l'indice [] tu le met dans id=.. ou nom=.. car en reprenant le code tu le met 1 fois dans l'un 1 fois dans l'autre


    Merci

  7. #7
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    pardon, tu le mets sur le name bien évidemment. L'id n'est qu'un identifiant. N’hésite pas à mettre ton code si tu as besoin d'aide ^^
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    J'ai reussis à faire ce que tu m'as conseillé en utilisant une petite variante :

    http://www.developpez.net/forums/d11...-mysql-update/


    Merci à vous sa m'a bien aidé

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

Discussions similaires

  1. Upload multiple avec insertion des noms de titre à chaque image.
    Par lemirandais dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/01/2009, 21h55
  2. [Upload] Upload multiple files
    Par aymanov dans le forum Langage
    Réponses: 17
    Dernier message: 22/12/2008, 09h38
  3. ON UPDATE CASCADE d'après la doc
    Par albertl dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/11/2005, 22h15
  4. [demande] upload multiples
    Par pIch dans le forum Général Java
    Réponses: 6
    Dernier message: 21/07/2005, 15h47
  5. [Upload] upload multiple
    Par mat10000 dans le forum Langage
    Réponses: 3
    Dernier message: 16/06/2005, 17h07

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