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 :

mise à jour à partir d'un formulaire pre-rempli


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut mise à jour à partir d'un formulaire pre-rempli
    bonjour

    voilà, j'expose mon probleme.

    j'ai creer un formulaire qui se rempli à partir d'un id d'un formulaire d'une page precedente

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		if (isset($_POST['enregistrement']))
    		{
    			$requeteid = mysql_query("SELECT * FROM film WHERE id=" .$_POST['enregistrement'] ) or die(mysql_error());
    			while ($boucle_requeteid = mysql_fetch_array($requeteid))
    		{
    et je le rapelle dans ma page actuelle avec ces codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form action="modifiersql2.php" method="post">	
     
    	<p>	N° d'enregistrement: <input type="text" name="enregistrement" size="50"
    		<?php //fonction pour recuperer le nombre du formulaire saisie ds modifiersql
    			if (isset($_POST['enregistrement']))
    			{
    				echo 'value="' . $_POST['enregistrement'] . '"';
    			}
    		?>	/>
    	</p>
    j'ai bien sure d'autre champs du formulaire qui se remplissent d'apres une requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <p>	Titre: <input type="text" name="titre" size="50" 
    		<?php echo 'value="' . $boucle_requeteid['titre']  . '"'; ?>/>
    	</p>
    Et c'est à partir de là que je voudrai faire une mise à jour si differente de ma table
    Et ma requete est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<?php
    	if ($boucle_requeteid['titre'] != $titre)
    	//valeurs à mettre à jour sont identiques aux valeurs déjà en place
    	{
    	$requete_modifier = mysql_query("UPDATE film SET titre= "$titre" WHERE id=" .$_POST['enregistrement']" );
    	}  
    	?>

    Il me met une erreur à la ligne de ma requete

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour,

    d'où vient

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    <p> Titre: <input type="text" name="titre" size="50"
    <?php echo 'value="' . $boucle_requeteid['titre'] . '"'; ?>/>
    </p

    $titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']));
    la variable titre vient de mon formulaire plus haut

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    La chaine est tronqué sur la requête, tu as oublié la concaténation et il y a une double quote de plus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete_modifier = mysql_query("UPDATE film SET titre= '".$titre."' WHERE id=" .$_POST['enregistrement'] );

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    en effet ça fonctionne mais quand je modifie mon formulaire qd je v voir dans ma table le champs est vide

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    fais un echo de $titre

    pour voir ce qui a dedans

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    en faisant un echo sur la page ou il me renvoi j''ai bien la modification auquel je pretend mais pas dans ma table

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    fais un try/catch

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    try{
    $requete_modifier = mysql_query("UPDATE film SET titre= '".$titre."' WHERE id=" .$_POST['enregistrement'] );
    }catch(execption $e){
    echo $e->getMessage();
    }

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Je reviens tjrs avec mon probleme de mise à jour

    j'ai repris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete_modifier = mysql_query("UPDATE film SET titre= '".$titre."' WHERE id=" .$_POST['enregistrement'] );
    Dans ma mise à jour il me met un espace vide

    si je lui enleve les guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete_modifier = mysql_query("UPDATE film SET titre=' .$titre. '   WHERE id=" .$_POST['enregistrement'] );
    il met deux points à l'emplacement de mon champs

    et si je lui met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $requete_modifier = mysql_query("UPDATE film SET titre='avion'   WHERE id=" .$_POST['enregistrement'] );
    il me me remplace le champs par avion

    Je crois que c'est un probleme de concaténation, j'ai essayé plusieurs façon, je n'y arrive pas, je dois pouvoir ajouter cette variable titre de façon à ce qu'elle me la prenne

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    pour raccourcir mon formulaire ça donne ça

    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
     
    <?php 
    							mysql_connect("localhost", "root", "");
    							mysql_select_db("coursphp");
     
    		if (isset($_POST['enregistrement']))
    		{
    			$requeteid = mysql_query("SELECT * FROM film WHERE id=" .$_POST['enregistrement'] ) or die(mysql_error());
    			while ($boucle_requeteid = mysql_fetch_array($requeteid))
    		{
    	?>	
    	<?php
     
    				mysql_connect("localhost", "root", "");
    				mysql_select_db("coursphp");
     
     
    				$titre = mysql_real_escape_string(htmlspecialchars($_POST['titre'])); // ['titre'] ----> le nom du champs ds la base de donnée 
    				$categorie = mysql_real_escape_string(htmlspecialchars($_POST['categorie']));
    				$acteurs = mysql_real_escape_string(htmlspecialchars($_POST['acteurs']));
    				$synopsis = mysql_real_escape_string(htmlspecialchars($_POST['synopsis']));
    				$realisateur = mysql_real_escape_string(htmlspecialchars($_POST['realisateur']));
    				$duree = mysql_real_escape_string(htmlspecialchars($_POST['duree']));
    				$date_de_sortie = mysql_real_escape_string(htmlspecialchars($_POST['date_de_sortie']));
    				$image = mysql_real_escape_string(htmlspecialchars($_POST['image']));
     
    				 $requete_modifier = mysql_query("UPDATE film SET titre= '" . $titre . "'  WHERE id=" .$_POST['enregistrement'] );
     
    {
     
    ?>
     
    <form action="modifiersql3.php" method="post">	
     
    	<p>	N° d'enregistrement: <input type="text" name="enregistrement" size="50"
    		<?php //fonction pour recuperer le nombre du formulaire saisie ds modifiersql
    				echo 'value="' . $_POST['enregistrement'] . '"'; ?>/></p>
     
     
    	<p>	Titre: <input type="text" name="titre" size="50" <?php echo 'value="' . $boucle_requeteid['titre']  . '"'; ?>/></p>

    et là qd je fais modifier il me met deux points ds le champs titre il ne me prends pas en compte ma variable titre

Discussions similaires

  1. [AC-2007] Mise à jour d'un sous-formulaire à partir d'un sous-sous formulaire
    Par Daniel-Gérald dans le forum IHM
    Réponses: 3
    Dernier message: 19/05/2010, 17h27
  2. [AC-2003] Mise à jour d'un sous-formulaire à partir d'une zone de liste
    Par SIENWEST dans le forum IHM
    Réponses: 3
    Dernier message: 10/03/2010, 17h10
  3. Requete Mise à jour à partir d'un formulaire
    Par obC++ dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/01/2008, 14h09
  4. Mise à jour champs modifés via formulaire
    Par Al3x dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/01/2006, 17h31
  5. [formulaire] Mise à jour d'un sous formulaire
    Par virginie2 dans le forum IHM
    Réponses: 15
    Dernier message: 22/12/2005, 13h30

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