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 :

Update pour changement de groupe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut Update pour changement de groupe
    Bonjour, j'ai un petit problème pour mon script de groupe.
    Je voudrais pouvoir changer le groupe du membre, par l'administration de mon site, mais il y juste un léger problème au niveau de l'update. En fait, dans ma table ou sont enregistré les membres, j'ai un champ membre_rang, qui dit quelle est le groupe du membre. Le problème qu'il y a, c'est que quand je choisis le groupe que je veut changer pour le membre, sa mais en fait l'id du groupe, donc le membre n'a pas le grade changer....

    Voir exemple, sur cette image :



    Voici les codes php :

    1ére page :

    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    case "ajout_groupe":
    echo'<h1 class="tuto_h1">Ajouter un groupe</h1>
     
    <form method="post" action="adminok.php?admin=ajouter_groupe"/>
    <strong>Le nom de votre groupe</strong> : <br />
    <input type="text" name="ajouter_groupe" /><br /><br />
    <strong>Couleur</strong> :<br />
    <input type="text" name="couleur_groupe"/><br /><br />
    <input type="submit" value="Créer le groupe !" />
    </form>';
    break;
     
    case "membre_groupe":
    echo'<h1>Changer le groupe d\'un membre</h1>
    <form method="post" action="admin2.php?action=choisir_groupe"/>
    Entrer ici le nom du membre !<br /><br />
    <input type="text" name="groupe_membre" /><br /><br />
    <input type="submit" value="Envoyer !" name="test"/>
    </form>';
    break;
     
    case "choisir_groupe":
    echo'<h1>Changer le groupe !</h1>';
     
    $pseudo = htmlspecialchars($_POST['groupe_membre'], ENT_QUOTES);
    $pseudo = mysql_real_escape_string($pseudo);
     
    $requete_select = mysql_query('SELECT *
                    FROM forum_membres WHERE membre_pseudo="'.$pseudo.'"');
     
    				//Si la requête retourne un truc, le membre existe
        if ($groupe_membre = mysql_fetch_assoc($requete_select))
         {
    	echo'<table id="resume_membre">
    	<tr>
    <th colspan="2">'.$groupe_membre['membre_pseudo'].'';
     
    		echo'
    	</tr>
    	<tr>
    <td id="resume_avatar">
     
    <img src="./images/avatars/'.$groupe_membre['membre_avatar'].'" alt="Ce membre n a pas d avatar" />
     
    <br />
    </td>
    <td>
     
    <div class="information">Inscrits depuis le :
           <strong>'.date('d/m/Y',$groupe_membre['membre_inscrit']).'</strong><br />';
    	   echo'Message sur le forum : <strong class="margin-left:10px;">'.$groupe_membre['membre_post'].'</strong><br /><br />';
           echo'Adresse email : <span class="email"><a href="mailto:'.$groupe_membre['membre_email'].'">
           '.$groupe_membre['membre_email'].'</a></span><br />';
    	   echo'Site Web : <a href="'.$groupe_membre['membre_siteweb'].'">'.$groupe_membre['membre_nom_siteweb'].'</a><br />';
    	   echo'Localisation : '.$groupe_membre['membre_localisation'].'<br />
    	   Groupe : <strong style="text-decoration:underline;">'.$groupe_membre['membre_rang'].'</strong><br /><hr>
    	   Changer ici son groupe :<br /><br />
    	   <form method="post" action="adminok.php?admin=changer_groupe" name="formulaire"/>
    	  <select name="form_groupe" id="form_groupe">
    <option class="choisir_cat" selected="selected"><strong>Choisissez :</Strong></option>';
     
    $requete = mysql_query('SELECT * FROM forum_rang');
    while($data = mysql_fetch_assoc($requete))
    {
    echo'
    <option value="'.$data['id_rang'].'">'.$data['nom_rang'].'</option>';
    }
    echo'
    </select><br /><br />
    <input type="hidden" name="id_membre" value="'.$groupe_membre['membre_id'].'"/>
    <input type="submit" value="Changer le groupe du membre">
    </form></div><br /><br />
     
    	  </td>
    	</tr>
    </table>';
    }
    break;
    2sd page :

    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
    case "ajouter_groupe":
    //Création d'une catégorie
    if (isset($_POST['ajouter_groupe']) AND isset($_POST['couleur_groupe']))
    {
    $nom_groupe = addslashes($_POST['ajouter_groupe']);
    $couleur_groupe = addslashes($_POST['couleur_groupe']);
     
    mysql_query("INSERT INTO forum_rang VALUES('', '" . $nom_groupe . "', '" . $couleur_groupe . "', '0', '0')");
     
    echo'Le groupe à bien été créer !<br />
    <a href="admin.php">Revenir sur l\'administration</a>'; //Bravo !
    }
    else
    {
    echo'Impossible de créer le groupe !<br /><br />'; //Ha, dommage... :(
    }
    break;
     
    case "changer_groupe":
    if (isset($_POST['form_groupe']) AND isset($_POST['id_membre']))
    {
    $nom_groupe = addslashes($_POST['form_groupe']);
    $id = intval($_POST['id_membre']);
     
    mysql_query('UPDATE forum_membres SET membre_rang = '.$nom_groupe.' WHERE membre_id = '.$id.'');
    echo'ok !';
    }
    else
    {
    echo'nop';
    }
    break;
    Merci, d'avance pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Le problème c'est qu'il pique les yeux ton code. Mais tes commentaires sont tellement des barres que je vais aller au bout.

    //Si la requête retourne un truc, le membre existe
    if ($groupe_membre = mysql_fetch_assoc($requete_select))
    Ok, je pense avoir trouvé, mais je suis pas certain, c'est très compliqué comme code, pour pas grand chose.
    Tu as beaucoup de possibilités à ta disposition pour le simplifier tellement il y a à faire.

    Bref, si j'ai bien compris, ici tu génères le select du formulaire permettant de changer de groupe, lorsque tu édites la fiche d'un membre.
    Bon, dans les balises options, là, la propriétés value, tu y mets l'id du rang, cf $data['id_rang']. Cette variable étant issue de la table forum_rang, que tu requêtes juste au dessus. Si tu veux enregistrer le nom du rang, utilises $data['nom_rang'] en lieu et place de $data['id_rang'].
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $requete = mysql_query('SELECT * FROM forum_rang');
    while($data = mysql_fetch_assoc($requete))
    {
    echo'
    <option value="'.$data['id_rang'].'">'.$data['nom_rang'].'</option>';
    }
    Qu'est ce t'en penses ?

    a plus

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    J'ai fait la modification comme vous me l'avez dit, mais sa ne marche toujours pas.
    Quand, je choisis dans la liste le groupe, l'update n'a pas lieu par contre, si je laisse mon code telle quelle, sa update mais avec l'id du groupe.

    Ou est le problème ?
    Merci.

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    +1 pour kaymak.
    Lorsque tu génères ton "select" "form_group" la value de tes options doit être égal à $data['nom_rang']
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="'.$data['nom_rang'].'">'.$data['nom_rang'].'</option>';

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Ok, avant je penser qu'il fallait avoir l'id est le nom du groupe dans l'option.
    Mais, sa ne marche pas, aucune update ne se fait...

    Edit :

    J'ai trouvé, mon erreur venait de la requête....

    J'ai remplacer sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mysql_query('UPDATE forum_membres SET membre_rang = '.$nom_groupe.' WHERE membre_id = '.$id.'');
    Par sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE forum_membres SET membre_rang='" . $nom_groupe . "' WHERE membre_id='" . $id . "'");
    Merci, encore pour votre aide

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

Discussions similaires

  1. Formulation d'un UPDATE (pour éviter un curseur)
    Par GoLDoZ dans le forum Oracle
    Réponses: 2
    Dernier message: 15/11/2005, 16h35
  2. update pour calcul pourcentage (SQL SERVER 2000)
    Par meufeu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/09/2005, 09h04
  3. Réponses: 4
    Dernier message: 26/08/2005, 11h39
  4. [sql] update pour debutant
    Par zebulix13 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/06/2004, 15h45
  5. Réponses: 36
    Dernier message: 13/05/2004, 18h22

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