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 :

Afficher un formulaire pré-rempli [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut Afficher un formulaire pré-rempli
    voila dans un fichier j'affiche le contenu de ma table joueur :
    //football.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $req=mysql_query("SELECT Prenom,Nom,Nationalite,Club,IdJ FROM Joueur ORDER BY Nom");
    			while($row=mysql_fetch_array($req)){
    				$idjoueur=$row['IdJ'];
    				echo"<tr>";
    				echo"<td>".$row['Prenom']."</td>";
    				echo"<td>".$row['Nom']."</td>";
    				echo"<td>".$row['Nationalite']."</td>";
    				echo"<td>".$row['Club']."</td>";
    				echo"<td>"."<a href='modifier_joueur.php?id=$idjoueur'>"."modifier"."</td>";
    				echo"</tr>";}
    et dans le formulaire //modifier_joueur.php
    je veux qu'il soit pré rempli par les attributs du joueur correspondant pour 'modifier'
    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
    <?php 
    	if ($connexion = mysql_connect("localhost","trezemix","prout")) {
    		if (mysql_select_db("trezemix",$connexion)) {
    			$req=mysql_query("SELECT IdJ,Prenom,Nom,Nationalite,Club FROM Joueur WHERE IdJ=$GET['idjoueur']");
    			echo $req;echo lol;
    			} else die("erreur de sélection de la base <br>".mysql_error());
    	} else die("erreur de connexion sql <br>".mysql_error());
    ?>
     
    <form method=get action="modifier_joueur.php">
    <TABLE BORDER=0>
    <TR><TD>Prenom</TD>
    	<TD>
    	<INPUT type=text name="prenom">
    	</TD></TR>
    est-ce la bonne méthode? pour l'instant cela ne marche pas

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Tu n'es pas allé au bout de ton idée dans le code, essaie ceci:

    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
    <?php 
    	if ($connexion = mysql_connect("localhost","trezemix","thomas")) {
    		if (mysql_select_db("trezemix",$connexion)) {
    			$req=mysql_query("SELECT IdJ,Prenom,Nom,Nationalite,Club FROM Joueur WHERE IdJ=$GET['idjoueur']");
    			if( $req){
                                        $joueur=mysql_fetch_assoc($req);                      
                               }
     
    			} else die("erreur de sélection de la base <br>".mysql_error());
    	} else die("erreur de connexion sql <br>".mysql_error());
    ?>
     
    <form method=get action="modifier_joueur.php">
    <TABLE BORDER=0>
    <TR><TD>Prenom</TD>
    	<TD>
    	<INPUT type=text name="prenom" value="<?php echo $joueur[Prenom];?>">
    	</TD></TR>

  3. #3
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/167/sda/7/b/trezemix/Toma/modifier_joueur.php on line 18

    $req=mysql_query("SELECT IdJ,Prenom,Nom,Nationalite,Club FROM Joueur WHERE IdJ=$GET['idjoueur']");


  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Tu as effectivement une erreur de syntaxe, essaie de remplacer par:

    $req=mysql_query("SELECT IdJ,Prenom,Nom,Nationalite,Club FROM Joueur WHERE IdJ=$GET[idjoueur]");

  5. #5
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    J'ai sorti le $_GET et sans la condition WHERE ça marche sauf que bien sûr j'en ai besoin pour spécifier l'identifiant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    	if ($connexion = mysql_connect("localhost","trezemix","prout")) {
    		if (mysql_select_db("trezemix",$connexion)) {
    			$_GET['idjoueur']=$numjoueur;
    			echo thomas; echo $numjoueur; echo thomas;
    			$req=mysql_query("SELECT IdJ,Prenom,Nom,Nationalite,Club FROM Joueur /*WHERE IdJ='$numjoueur'*/");
    			if( $req){$joueur=mysql_fetch_assoc($req);}
    			} else die("erreur de sélection de la base <br>".mysql_error());
    	} else die("erreur de connexion sql <br>".mysql_error());
    ?>

  6. #6
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    Apparement ça recupere mal l'identifiant car je n'ai rien à l'affichage entre mes 2 "thomas"

    $numjoueur=$_GET['idjoueur'];
    echo thomas; echo $numjoueur; echo thomas;
    il y a pas besoin de require ou de include pour que ça prenne bien la variable de la page précédente ?

  7. #7
    Membre averti Avatar de Shinn77
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut
    Sépare tout ça en plusieurs pages !

    config.inc.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if ($connexion = mysql_connect("localhost","trezemix","thomas"))
    {
    	if (!mysql_select_db("trezemix", $connexion))
    	{
    		die("erreur de sélection de la base");
    	}
    }
    else
    {
    	die("erreur de connexion sql");
    }

    ModifierJoueur_Formulaire.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
    <?php 
    // Connexion à la base de données
    require("config.inc.php");
     
    $sql = "SELECT IdJ,Prenom,Nom,Nationalite,Club FROM Joueur WHERE IdJ='$idjoueur'";
    $req=mysql_query($sql) or die ("Erreur SQL ! : ".mysql_error()."<br />Requête utilisée : ".$sql);
     
    if($req)
    	$joueur=mysql_fetch_assoc($req);
     
    ?>
     
    <form method=post action="ModifierJoueur_Traitement.php">
    <TABLE BORDER=0>
    <TR><TD>Prenom</TD>
    	<TD>
    	<INPUT type=text name="prenom" value="<?php echo $joueur["Prenom"];?>">
    	</TD></TR>
    <TR><TD>Nom</TD>
    	<TD>
    	<INPUT type=text name="nom" value="<?php echo $joueur["Nom"];?>">
    	</TD></TR>
    <TR><TD>Nationalité</TD>
    	<TD>
    	<INPUT type=text name="nationalite" value="<?php echo $joueur["Nationalite"];?>">
    	</TD></TR>
    <TR><TD>Club</TD>
    	<TD>
    	<INPUT type=text name="club" value="<?php echo $joueur["Club"];?>">
    	</TD></TR>
    <TR><TD>Enregistrer la modification</TD>
    	<TD>
    	<INPUT type="submit" value="Envoyer">
    	</TD>
    </TR> </TABLE> </form>

    ModifierJoueur_Traitement.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
     
    <?php
    $prenom = (isset($_POST['prenom']) && $_POST['prenom'] != "") ? $_POST['prenom'] : "";
    $nom = (isset($_POST['nom']) && $_POST['nom'] != "") ? $_POST['nom'] : "";
    $nationalite = (isset($_POST['nationalite']) && $_POST['nationalite'] != "") ? $_POST['nationalite'] : "";
    $club = (isset($_POST['club']) && $_POST['club'] != "") ? $_POST['club'] : "";
     
    if ($prenom != "" && $nom != "" && $nationalite != "" && $club != "")
    {
    	// Connexion à la base de données
    	require("config.inc.php");
     
    	$sql = "UPDATE Joueur  SET Prenom='$prenom', Nom='$nom', 
    	Nationalite='$nationalite', Club='$club' WHERE IdJ=$idjoueur";
    	mysql_query($sql) or die ("Erreur SQL ! : ".mysql_error()."<br />Requête utilisée : ".$sql);
     
    }
    else
    {
    	echo "Un ou plusieurs champs n'ont pas été remplis !";
    }
     
    ?>

  8. #8
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    je n'arrive pas a récupérer l'identifiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $idjoueur=$_GET["id"];	
    	$req=mysql_query("SELECT IdJ,Prenom,Nom,Nationalite,Club,Poste FROM Joueur WHERE IdJ='$idjoueur'");
    	if( $req){$joueur=mysql_fetch_array($req);}
    	$idjoueur=$joueur['IdJ'];	
    ?>
     
    <form method=post action="requete_modifier.php?id=$idjoueur">
    <TABLE BORDER=0>
    <TR><TD>Prenom</TD> .....
    //requete_modifier.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
    <?php
    $idjoueur=$_GET["id"];
    echo $idjoueur;
    $prenom = (isset($_POST['prenom']) && $_POST['prenom'] != "") ? $_POST['prenom'] : "";
    $nom = (isset($_POST['nom']) && $_POST['nom'] != "") ? $_POST['nom'] : "";
    $nationalite = (isset($_POST['nationalite']) && $_POST['nationalite'] != "") ? $_POST['nationalite'] : "";
    $club = (isset($_POST['club']) && $_POST['club'] != "") ? $_POST['club'] : "";
    $poste = (isset($_POST['poste']) && $_POST['poste'] != "") ? $_POST['poste'] : "";
     
    if ($prenom != "" && $nom != "" && $nationalite != "" && $club != "" && $poste != "")
    {
    	// Connexion à la base de données
    	require("config.inc.php");
    	$sql = "UPDATE Joueur  SET Prenom='$prenom', Nom='$nom', 
    	Nationalite='$nationalite', Club='$club', Poste='$poste' WHERE IdJ='$idjoueur'";
    	mysql_query($sql) or die ("Erreur SQL ! : ".mysql_error()."<br />Requête utilisée : ".$sql);
    	echo $sql;
    }
    else
    {
    	echo "Un ou plusieurs champs n'ont pas été remplis !";
    }
    ?>
    $idjoueur UPDATE Joueur SET Prenom='Eric', Nom='Abidal', Nationalite='Français', Club='Lyon/FC Barcelone', Poste='gfd' WHERE IdJ='$idjoueur'

    ou si j'enlève les dernières apostrophes la requête me signale que la condition where n'est pas bonne


    Peut-être dois-je faire un champs caché avec l'identifiant ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/11/2010, 16h17
  2. [1.x] Formulaire mal rempli qui n'affiche pas les erreurs
    Par bahamut100 dans le forum Symfony
    Réponses: 5
    Dernier message: 03/06/2010, 00h21
  3. [MySQL] Afficher message d'erreur si champs formulaire non remplis
    Par Mickael2604 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/12/2008, 06h21
  4. Réponses: 11
    Dernier message: 09/12/2004, 15h03
  5. Formulaire pré-rempli
    Par michel95 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/04/2003, 19h24

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