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 :

Modifier le jeu sélectionné


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut Modifier le jeu sélectionné
    Bonsoir a tous,
    Je vous explique mon problème, j'ai généré une liste de jeux videos dynamiquement sur une page php (modifier.php) avec un bouton modifier à coté de chaque jeuxvideos.
    Mon problème est que je n'arrive pas à faire en sorte que le bouton modifier me modifier le bon jeu videos.
    Merci

  2. #2
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    C'est un peu vague tout çà... çà manque de code aussi...

    Je te donne la démarche à suivre pour effectuer ce genre de chose.

    1/ Tu récupères la liste de jeux vidéo (tu l'as fait je crois)
    2/ Tu mets des liens dessus avec en param l'id correspondant.
    3/ Au clique tu affiches un formulaire que ce soit sur la même page ou sur une page différente
    4/ Le formulaire présente les différentes info à modifier. A sa soumission (tu vérifie çà avec un isset() sur le nom du bouton, par exemple) à ce moment là tu fais ta requête UPDATE table SET champ1=valeur1, champ2=valeur2 WHERE champ_id=valeur_id.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    je te remercie de m'avoir répondu mais je ne comprend pas le 2/ avec en param avec en param l'id. je débute en php-mysql donc il y a certain termes que je ne comprend pas.

    Voilà mon code pour que tu comprenne mieux ce que j'ai fait.


    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
    <form id="modif" action="modifier.php" method="post">
     
    <?php
    if(isset($_POST["val"]))$val=$_POST["val"];else $val="";
    if(isset($_POST["jv_id"]))$jv_id=$_POST["jv_id"];else $jv_id="";
    if(isset($_POST["jv_nom"]))$jv_nom=$_POST["jv_nom"];else $jv_nom="";
    if(isset($_POST["jv_nbre_joueurs_max"]))$jv_nbre_joueurs_max=$_POST["jv_nbre_joueurs_max"];else $jv_nbre_joueurs_max="";
    if(isset($_POST["jv_prix"]))$jv_prix=$_POST["jv_prix"];else $jv_prix="";
    if(isset($_POST["jv_console"]))$jv_console=$_POST["jv_console"];else $jv_console="";
     
    include 'connect.php';
     
    $sql = mysql_query("SELECT * FROM jeux_videos");
     
    while ($result=mysql_fetch_array($sql))//affichage des jeux videos avec bouton modifier
    {
    echo'<tr><td>';echo $donnees['jv_id'];echo'</td><td>';echo $donnees['jv_nom'];echo'</td>';
    echo'<td><input type="submit" name="val" value="modifier"></td></tr>';
    }
     
    if($val=="Modifier")	
    	{
    $query=mysql_query("SELECT jv_id,jv_nom,jv_prix,jv_console,jv_prix,jv_nbre_joueurs_max from jeux_videos where jv_id='".$jv_id."'");
    //recup de données du jeux videos				
      $jv_id = $_POST["jv_id"] ;
      $jv_nom = $_POST["jv_nom"] ;
      $jv_console = $_POST["jv_console"] ;
      $jv_prix = $_POST["jv_prix"] ;
      $jv_nbre_joueurs_max = $_POST["jv_nbre_joueurs_max"] ;
     
     		echo '<h4>Numéro '; 
    		echo '<input name="jv_id" type="text" value="'.$jv_id.'"/><br/>';
    		echo '<br/><h4>Nom '; 
    		echo '<input name="jv_nom" type="text" value="'.$jv_nom.'"/><br/>';
    		echo '		Nombre de Joueurs Max  ';
    		echo '<input name="jv_nbre_joueurs_max" type="text" value="'.$jv_prix.'"/><br/>';
    		echo '		Prix  ';
    		echo '<input name="jv_prix" type="text"  value="'.$jv_console.'"/><br/>';
    		echo '		Console  ';
    		echo '<input name="jv_console" type="text"  value="'.$jv_nbre_joueurs_max.'"/><br/>';
     
    echo '<input name="valider" type="submit"  value="valider">';
    	}
     
    if($val=="valider")	//mise a jour
    	{
    $sql2 = mysql_query("UPDATE jeux_videos  SET jv_id = '$jv_id',jv_nom = '$jv_nom',jv_console = '$jv_console',jv_prix = '$jv_prix', jv_nbre_joueurs_max = '$jv_nbre_joueurs_max' WHERE jv_id = '$jv_id' " );
    	}
    ?>

  4. #4
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Ok je comprends, donc on va oublier la méthode GET (d'ailleurs c'est ce que je fais habituellement, enfin quand j'ai le temps).

    En fait tu as un formulaire pour chacun des jeux vidéo. Il te manque juste un truc dans ce formulaire c'est un champ "hidden" qui prendra dans son attribut "value" l'id (donc la valeur du champ jv_id je pense) du jeu vidéo courant.

    Tu me suis ?

    Disons oui ensuite çà : if($val=="Modifier") ce n'est pas possible çà serait plutot if(isset($_POST['val'])), bon je changerais le "name" du submit par "modifier" pour que çà soit plus logique.... mais tu fais comme tu le sents.

    Etape suivante : Tu ajoutes dans ce second formulaire un autre champ hidden qui prend en value l'id du jeu vidéo (comme précédement). Et c'est ensuite une fois que ce second formulaire est soumis que tu peux faire ton UPDATE avec ta clause WHERE basé sur $_POST['id_jeuvideo'] (nom arbitraire qui correspond au "name" du "hidden")


    EDIT : N'hésites pas à reposter ton code au fur et à mesure des corrections il y a pas mal de choses qui ne vont pas, on va tâcher de les corriger pas à pas

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    Je te remercie beaucoup je vais essayer tout sa et je te tiens au courant.
    Encore merci pour ton aide.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    Voilà j'ai apporter les modifications, maintenant le message d'erreur provient de la récupration de variable dans mon formulaire
    voici mon code

    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
    56
    57
    58
    59
    60
    61
    62
    63
    <html>
    <head><title>Modification Jeux</title></head>
    <body>
    <h2>Modifier un jeux</h2></br></br>
    <form id="modif" action="modifier.php" method="post">
     
    <?php
    if(isset($_POST["valider"]))$valider=$_POST["valider"];else $valider="";
    if(isset($_POST["modifier"]))$modifier=$_POST["modifier"];else $modifier="";
    if(isset($_POST["val"]))$val=$_POST["val"];else $val="";
    if(isset($_POST["jv_id"]))$jv_id=$_POST["jv_id"];else $jv_id="";
    if(isset($_POST["jv_nom"]))$jv_nom=$_POST["jv_nom"];else $jv_nom="";
    if(isset($_POST["jv_nbre_joueurs_max"]))$jv_nbre_joueurs_max=$_POST["jv_nbre_joueurs_max"];else $jv_nbre_joueurs_max="";
    if(isset($_POST["jv_prix"]))$jv_prix=$_POST["jv_prix"];else $jv_prix="";
    if(isset($_POST["jv_console"]))$jv_console=$_POST["jv_console"];else $jv_console="";
     
    include 'connect.php';// connexion au serveur et bdd
    echo'<input type="hidden" name="val" value="jv_id">';
    $sql = mysql_query("SELECT jv_id,jv_nom FROM jeux_videos");
    //affichage des jeux videos avec un bouton modifier pour chaque jeux
    while ($result=mysql_fetch_array($sql))
    {
    echo'<tr><td>';echo $result['jv_id'];echo'</td><td>';echo $result['jv_nom'];echo'</td>';
    echo'<td><input type="submit" name="modifier" value="modifier"></td></tr>';
    }
     
    if(isset($_POST['val']))	
    	{
    $query=mysql_query("SELECT jv_id,jv_nom,jv_prix,jv_console,jv_prix,jv_nbre_joueurs_max from jeux_videos where jv_id='".$jv_id."'");
    echo'<input type="hidden" name="val" value="jv_id">';
    //recupération de variables	
      $jv_id = $_POST["jv_id"] ;
      $jv_nom = $_POST["jv_nom"] ;
      $jv_console = $_POST["jv_console"] ;
      $jv_prix = $_POST["jv_prix"] ;
      $jv_nbre_joueurs_max = $_POST["jv_nbre_joueurs_max"] ;
     
     		echo '<h4>Numéro '; 
    		echo '<input name="jv_id" type="text" value="'.$jv_id.'"/><br/>';
    		echo '<br/><h4>Nom '; 
    		echo '<input name="jv_nom" type="text" value="'.$jv_nom.'"/><br/>';
    		echo '		Nombre de Joueurs Max  ';
    		echo '<input name="jv_nbre_joueurs_max" type="text" value="'.$jv_prix.'"/><br/>';
    		echo '		Prix  ';
    		echo '<input name="jv_prix" type="text"  value="'.$jv_console.'"/><br/>';
    		echo '		Console  ';
    		echo '<input name="jv_console" type="text"  value="'.$jv_nbre_joueurs_max.'"/><br/>';
     
    echo '<input name="valider" type="submit"  value="valider">';
    	}
     
    if($val=="valider")	//mise à jour
    	{
    $sql2 = mysql_query("UPDATE jeux_videos  SET jv_id = '$jv_id',jv_nom = '$jv_nom',jv_console = '$jv_console',jv_prix = '$jv_prix', jv_nbre_joueurs_max = '$jv_nbre_joueurs_max' WHERE jv_id='".$_POST['jv_id']."' " );
     
    	}
     
    ?>
     
    <h3><a href="acceuil.php">Retour Menu</a>
    </form>
    </body>
    </html>

  7. #7
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Bon alors déjà tu as (encore) oublié les balises code... Pense-y la prochaine fois je pense pas que çà amuse Julp de passer derrière toi Et à la limite tu peux même éditer ton message toi même... je te le conseille en fait.

    Donc pour ton pb tu m'as mal compris... regarde :

    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
    include 'connect.php';// connexion au serveur et bdd
     
    $sql = mysql_query("SELECT jv_id,jv_nom FROM jeux_videos");
     
    //affichage des jeux videos avec un bouton modifier pour chaque jeux
    while ($result=mysql_fetch_array($sql))
    {
    echo '
    <tr>
      <td>',$result['jv_id'],'</td>
      <td>',$result['jv_nom'],'</td>
      <td>
        <input type="hidden" name="val" value="',$result['jv_id'],'" />
        <input type="submit" name="modifier" value="modifier />
      </td>
    </tr>';
    }

    J'ai un peu modifié ton code, pas la peine de faire 36 000 echo, 1 seul est amplement suffisant... et j'ai aussi mis le hidden dans le while sinon çà sert à rien... j'ai donc aussi modifié sa valeur, pour que à chaque tour de boucle un nouveau hidden soit créé avec l'id du jeu vidéo courant... tu me suis ?

    Un conseil : n'hésites pas à éditer le html généré pour voir si les hidden sont bien écrits... ok ?


    EDIT : Hola j'avais pas vu un truc !!! Il manque la balise <form ...> ! çà peut pas marcher sinon !!!

    EDIT 2 : Enfin elle manque pas mais elle est pas au bon endroit, mets là dans le while

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    Je suis vraiment désolé d'encore t'embeter mais je m'en sort pas trop.
    Le premier hidden marche bien, mais le deuxieme hidden est vide.
    Donc je n'arrive toujour pas à récupérer les données pour un jeux vidéos.

    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
    56
    57
    58
    59
    60
    61
    <html>
    <head><title>Modification Jeux</title></head>
    <body>
    <h2>Modifier un jeux</h2></br></br>
    <?php
    if(isset($_POST["modif"]))$modif=$_POST["modif"];else $modif="";
    if(isset($_POST["valider"]))$valider=$_POST["valider"];else $valider="";
    if(isset($_POST["modifier"]))$modifier=$_POST["modifier"];else $modifier="";
    if(isset($_POST["val"]))$val=$_POST["val"];else $val="";
    if(isset($_POST["jv_id"]))$jv_id=$_POST["jv_id"];else $jv_id="";
    if(isset($_POST["jv_nom"]))$jv_nom=$_POST["jv_nom"];else $jv_nom="";
    if(isset($_POST["jv_nbre_joueurs_max"]))$jv_nbre_joueurs_max=$_POST["jv_nbre_joueurs_max"];else $jv_nbre_joueurs_max="";
    if(isset($_POST["jv_prix"]))$jv_prix=$_POST["jv_prix"];else $jv_prix="";
    if(isset($_POST["jv_console"]))$jv_console=$_POST["jv_console"];else $jv_console="";
     
    include 'connect.php';    //connection au serveur et base de données
     
    $sql = mysql_query("SELECT jv_id,jv_nom FROM jeux_videos");
    //affichage des jeux videos avec un bouton modifier pour chaque jeux
    while ($result=mysql_fetch_array($sql))
    {
    echo '<form id="modif" action="modifier.php" method="post">
    <tr>
      <td>',$result['jv_id'],'</td>
      <td>',$result['jv_nom'],'</td>
      <td>
        <input type="hidden" name="val" value="',$result['jv_id'],'">
        <input type="submit" name="modifier" value="modifier">
      </td>
    </tr>';
    }
     
    if(isset($_POST['val']))	
    	{
    $query=mysql_query("SELECT jv_id,jv_nom,jv_prix,jv_console,jv_prix,jv_nbre_joueurs_max from jeux_videos where jv_id='".$val."'");
    echo '<input type="hidden" name="val" value="',$result['jv_id'],'">';
     //récupération des valeurs des champs:
      $jv_id = $_POST["jv_id"] ;
      $jv_nom = $_POST["jv_nom"] ;
      $jv_console = $_POST["jv_console"] ;
      $jv_prix = $_POST["jv_prix"] ;
      $jv_nbre_joueurs_max = $_POST["jv_nbre_joueurs_max"] ;
     
     		echo 'Numéro  : <input name="jv_id" type="text" readonly="readonly" value="'.$jv_id.'"/><br/>';
    		echo 'Nom     : <input name="jv_nom" type="text" value="'.$jv_nom.'"/><br/>';
    		echo 'Nombre de Joueurs Max : <input name="jv_nbre_joueurs_max" type="text" value="'.$jv_prix.'"/><br/>';
    		echo 'Prix    : <input name="jv_prix" type="text"  value="'.$jv_console.'"/><br/>';
    		echo 'Console : <input name="jv_console" type="text"  value="'.$jv_nbre_joueurs_max.'"/><br/>';
    echo '<input name="valider" type="submit"  value="valider">';
    	}
     
    if($val=="valider")	//mise à jour
    	{
    $sql2 = mysql_query("UPDATE jeux_videos  SET jv_id = '$jv_id',jv_nom = '$jv_nom',jv_console = '$jv_console',jv_prix = '$jv_prix', jv_nbre_joueurs_max = '$jv_nbre_joueurs_max' WHERE jv_id='".$_POST['jv_id']."' " );
    	}
     
    	?>
    <a href="acceuil.php">Retour Menu</a>
    </form>
    </body>
    </html>

  9. #9
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Balises CODE ! Edites tes messages !

    Premier point : Tu as oublié de fermer ton form dans le while.

    Autre conseil : N'hésites pas à valider tes pages au niveau du (x)html sur le site du W3C puisque tes erreurs viennent d'abord de la structure de ton document et non du php... commence par le commencement.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    Bonjour,
    1/ Balises CODE ! Edites tes messages ! (jcomprend pas ce que je doit faire, j'ai ajouter des echo un peu partout pour voir si sa marcher oupas)

    2/ J'ai valider le formuaire html mais je n'est pas compris (encore) mes erreur:
    line 18 col 1 - Error: discarding unexpected </form>
    line 9 col 1 - Warning: <input> isn't allowed in <table> elements
    line 9 col 1 - Warning: <table> lacks "summary" attribute
    Voila monn ouveau code php, le probleme est toujour le meme dans la récupération des valeurs des champs

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head><title>Modification Jeux</title></head>
    <body>
    <?php
    if(isset($_POST["modif"]))$modif=$_POST["modif"];else $modif="";
    if(isset($_POST["valider"]))$valider=$_POST["valider"];else $valider="";
    if(isset($_POST["modifier"]))$modifier=$_POST["modifier"];else $modifier="";
    if(isset($_POST["val"]))$val=$_POST["val"];else $val="";
    if(isset($_POST["jv_id"]))$jv_id=$_POST["jv_id"];else $jv_id="";
    if(isset($_POST["jv_nom"]))$jv_nom=$_POST["jv_nom"];else $jv_nom="";
    if(isset($_POST["jv_nbre_joueurs_max"]))$jv_nbre_joueurs_max=$_POST["jv_nbre_joueurs_max"];else $jv_nbre_joueurs_max="";
    if(isset($_POST["jv_prix"]))$jv_prix=$_POST["jv_prix"];else $jv_prix="";
    if(isset($_POST["jv_console"]))$jv_console=$_POST["jv_console"];else $jv_console="";
     
    include 'connect.php';    //connection au serveur et base de données
     
    $sql = mysql_query("SELECT jv_id,jv_nom FROM jeux_videos");
    //affichage des jeux videos avec un bouton modifier pour chaque jeux
    echo'<table>';
    while ($result=mysql_fetch_array($sql))
    {
    echo '<form id="modif" action="modifier.php" method="post"/>
    <tr>
      <td>',$result['jv_id'],'</td>
      <td>',$result['jv_nom'],'</td>
      <td>
        <input type="hidden" name="val" value="',$result['jv_id'],'"/>
        <input type="submit" name="modifier" value="modifier"/>
      </td>
    </tr>
    </form>';
    }
    echo'</table>';
    if(isset($_POST['val']))	
    	{
    $query=mysql_query("SELECT jv_id,jv_nom,jv_nbre_joueurs_max,jv_prix,jv_console from jeux_videos where jv_id='".$val."'");
    echo '<input type="hidden" name="val" value="',$result['jv_id'],'">';
     //récupération des valeurs des champs:
      $jv_id = $_POST["jv_id"] ;
      $jv_nom = $_POST["jv_nom"] ;
      $jv_nbre_joueurs_max = $_POST["jv_nbre_joueurs_max"] ;
      $jv_prix = $_POST["jv_prix"] ;
      $jv_console = $_POST["jv_console"] ;
     
     		echo 'Numéro  : <input name="jv_id" type="text" readonly="readonly" value="'.$jv_id.'"/><br/>';
    		echo 'Nom     : <input name="jv_nom" type="text" value="'.$jv_nom.'"/><br/>';
    		echo 'Nombre de Joueurs Max : <input name="jv_nbre_joueurs_max" type="text" value="'.$jv_nbre_joueurs_max.'"/><br/>';
    		echo 'Prix    : <input name="jv_prix" type="text"  value="'.$jv_prix.'"/><br/>';
    		echo 'Console : <input name="jv_console" type="text"  value="'.$jv_console.'"/><br/>';
    echo '<input name="valider" type="submit"  value="valider"/>';
    	}
     
    if($val=="valider")	//mise à jour
    	{
    $sql2 = mysql_query("UPDATE jeux_videos  SET jv_id = '$jv_id',jv_nom = '$jv_nom', jv_nbre_joueurs_max = '$jv_nbre_joueurs_max',jv_prix = '$jv_prix',jv_console = '$jv_console' WHERE jv_id='".$_POST['jv_id']."' " );
    	}
     
    	?>
    <a href="acceuil.php">Retour Menu</a>
     
    </body>
    </html>
    Merci encore pour votre aide c'est vraiment le seule forum ou j'ai pu trouver de l'aide.

    PS: Sous easyphp des messages d'erreurs appraisent (récupération des valeurs des champs) mais pas sous wamp, est-ce normale?

  11. #11
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Je commence par les balises code, je parlais de tes messages, les balises [ code ] font partie du bbcode de ce forum. Tu dois encadrer tout le code que tu mets ici avec ces balises... tu l'as fait là... bref.

    Donc par rapport à ton post scriptum, c'est que ta version d'EasyPHP et ta version de WAMP n'ont pas la même configuration (php.ini) ton code n'étant donc pas forcément portable il génère des erreurs dans un cas mais pas dans l'autre.

    - Première remarque sur le HTML, je mettrais les balises <form></form> juste autour des <input> et non à l'extérieur des <tr>.
    - Seconde remarque, je te conseillerais de passer en transitionnel au niveau du doctype, parce que le strict me semble un peu trop strict pour la maitrise que tu as de XHTML.


    Passons à la partie programmation.
    Je crois comprendre que le premier champ "hidden" rempli bien sa fonction.
    Le second par contre non, parce que tu n'as pas mis de balise <form>... hum hum on en revient donc au HTML.

    Je te donnerais donc encore quelques conseils... j'ai l'impression d'être une donneuse de leçon bref.

    1/ Fais des progrès en (X)HTML, c'est çà qui te plombe dans tes développements, donc par conséquent n'oublis pas le validateur qui te permet de voir rapidement si tu n'as pas oublié de balises, ou fais des trucs pire encore.
    2/ Apprends à débugger simplement en faisant un maximum d'affichage. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
    Ca ne coute rien et çà aide beaucoup. Tu vois ce qui passe, ce qui ne passe pas... bref l'essentiel. Pour débugger il faut commencer par afficher les variables qui t'intéresses.

    Sur ces bons conseils, je te laisse revoir ton code, ton problème n'est pas insurmontable, et reviens si vraiment tu bloques sur un point en particulier.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    Le problème qui se pose est la récupération des données.
    J'ai mis des echo un peu partout.
    Les hidden marche, cependant c'est toujours les données d'un jeu qui ne s'affiche pas.
    Lorsque je fais un echo de la requête mais il s'affiche d'après ce que j'ai pu lire sur internet c'est normal.

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitionnel//FR"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitionnel.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head><title>Modification Jeux</title></head>
    <body>
    <?php
    if(isset($_POST["modif"]))$modif=$_POST["modif"];else $modif="";
    if(isset($_POST["valider"]))$valider=$_POST["valider"];else $valider="";
    if(isset($_POST["modifier"]))$modifier=$_POST["modifier"];else $modifier="";
    if(isset($_POST["val"]))$val=$_POST["val"];else $val="";
    if(isset($_POST["jv_id"]))$jv_id=$_POST["jv_id"];else $jv_id="";
    if(isset($_POST["jv_nom"]))$jv_nom=$_POST["jv_nom"];else $jv_nom="";
    if(isset($_POST["jv_nbre_joueurs_max"]))$jv_nbre_joueurs_max=$_POST["jv_nbre_joueurs_max"];else $jv_nbre_joueurs_max="";
    if(isset($_POST["jv_prix"]))$jv_prix=$_POST["jv_prix"];else $jv_prix="";
    if(isset($_POST["jv_console"]))$jv_console=$_POST["jv_console"];else $jv_console="";
     
    include 'connect.php';    //connection au serveur et base de données
     
    $sql = mysql_query("SELECT jv_id,jv_nom FROM jeux_videos");
    echo $sql;
    //affichage des jeux videos avec un bouton modifier pour chaque jeux
    echo'<table>';
    while ($result=mysql_fetch_array($sql))
    {
    echo '
    <tr>
      <td>',$result['jv_id'],'</td>
      <td>',$result['jv_nom'],'</td>
      <td><form id="modif" action="modifier.php" method="post">
        <input type="hidden" name="val" value="',$result['jv_id'],'"/>
        <input type="submit" name="modifier" value="modifier"/></form>
      </td>
    </tr>';
     
    }
    echo'</table>';
    if(isset($_POST['val']))	
    	{
    $query=mysql_query("SELECT jv_id,jv_nom,jv_nbre_joueurs_max,jv_prix,jv_console from jeux_videos where jv_id='".$val."'");
    echo '<input type="hidden" name="val" value="',$result['jv_id'],'"/>';
    echo $result;
     //récupération des valeurs des champs:// c'est ici que j'ai des problème
      $jv_id = $_POST["jv_id"] ;
      $jv_nom = $_POST["jv_nom"] ;
      $jv_nbre_joueurs_max = $_POST["jv_nbre_joueurs_max"] ;
      $jv_prix = $_POST["jv_prix"] ;
      $jv_console = $_POST["jv_console"] ;
     
     		echo 'Numéro  : <input name="jv_id" type="text" readonly="readonly" value="'.$jv_id.'"/><br/>';
    		echo 'Nom     : <input name="jv_nom" type="text" value="'.$jv_nom.'"/><br/>';
    		echo 'Nombre de Joueurs Max : <input name="jv_nbre_joueurs_max" type="text" value="'.$jv_nbre_joueurs_max.'"/><br/>';
    		echo 'Prix    : <input name="jv_prix" type="text"  value="'.$jv_prix.'"/><br/>';
    		echo 'Console : <input name="jv_console" type="text"  value="'.$jv_console.'"/><br/>';
     
    echo '<input name="valider" type="submit"  value="valider"/>';
    	}
     
    if($val=="valider")	//mise à jour
    	{
    $sql2 = mysql_query("UPDATE jeux_videos  SET jv_id = '$jv_id',jv_nom = '$jv_nom', jv_nbre_joueurs_max = '$jv_nbre_joueurs_max',jv_prix = '$jv_prix',jv_console = '$jv_console' WHERE jv_id='".$_POST['jv_id']."' " );
    	}
     
    	?>
    <a href="acceuil.php">Retour Menu</a>
     
    </body>
    </html>
    PS: je sais que je t'embête mais je débute en php et surtout j'aimerai intégré un Bts informatique.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Par défaut
    Je vient de comprendre o était mon erreur, apparement j'ai pas de recordset ce qui fait que je n'aarive pas à récupérer mes donnes dans un formulaire.
    Le seule problème c'est que je ne sait pas utiliser un recordset.
    Pense-tu que mon problème peut être résolu avec cela?

  14. #14
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Pourtant tu l'as déjà fait... pour utiliser la ressource produite par un mysql_query tu as mysql_fetch_assoc, mysql_fetch_array, mysql_fetch_row et mysql_fetch_object.

    De tout ceux là je te conseille le premier.

Discussions similaires

  1. [XL-2003] Modifier une ligne sélectionné dans une listView
    Par monichou86 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/12/2009, 17h49
  2. Modifier le jeu de caractères par défaut
    Par tom42 dans le forum Langage
    Réponses: 5
    Dernier message: 03/12/2009, 12h06
  3. Réponses: 2
    Dernier message: 28/05/2008, 12h36
  4. Modifier l'option sélectionnée dans un select
    Par GLSpirit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/04/2008, 10h42
  5. [Débutant] Besoin d'aide pour modifier un jeu
    Par stoff66 dans le forum Assembleur
    Réponses: 9
    Dernier message: 31/08/2006, 18h24

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