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 :

[POO] Récupérer nom d'un bouton


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 178
    Points : 252
    Points
    252
    Par défaut [POO] Récupérer nom d'un bouton
    Bonjour à tous,

    Voilà je voulais savoir s'il était possible de récupérer la valeur du nom d'un bouton grace a PHP, en sachant que ce bouton à un nom qui est le résultat d'un requete sql.
    Je m'explique : j'essaie de faire un script php (et mysql) pour modifier un menu dynamiquement.
    J'utilise 3 champs : id , nom et url.
    J'affiche une ligne avec le numéro ID, le nom du lien, l'url et enfin un bouton "Modifier" dont le name="nom du lien" (requete sql).

    J'aimerai récupérer la valeur du nom du bouton pour ensuite effectuer une seconde requete qui remplira les valeurs par défaut d'un formulaire (pour modifier les données).

    Si vous avez une autre solution je suis preneur ^^
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 241
    Points : 15 543
    Points
    15 543
    Par défaut
    si ton bouton à pour nom "blabla", alors tu trouveras $_GET['babla'] qui aura la valeur "Modifier" (le texte affiché sur le bouton)
    tu peux tester si la case existe dans le tableau comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_GET['blabla'])) {
        // on a cliqué sur "Modifier"
    }

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 178
    Points : 252
    Points
    252
    Par défaut
    Avec le code ça sera peut être mieux :

    Page qui affiche tous les liens + un bouton Modifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $sql_menu = 'SELECT * FROM menu'; // requete sql
    		$req_menu = mysql_query($sql_menu) or die('Erreur SQL !<br>'.$sql_menu.'<br>'.mysql_error());
     
    		while($data_menu = mysql_fetch_assoc($req_menu))  // affiche le menu
    			{echo'
    					<tr>
    						<td>'.$data_menu['id'].'</td>
    						<td>'.$data_menu['nom'].'</td>
    						<td><a href='.$data_menu['lien'].'>'.$data_menu['lien'].'</a></td>
    						<td><input type="submit" value="Modifier" name='.$data_menu['nom'].'></td>
    					</tr>
    				';}
    Quand on clique sur Modifier j'aimerai que ça redirige vers une page avec un formulaire, qui serait déjà renseigné avec les valeurs actuelles (par défaut).

    > Mathieu, je comprends pas comment utilisé ton code (jsui encore un nioubish en PHP ^^)

  4. #4
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Le mieu serai que tu mette le nom de ton lien dans un champ caché (hidden) comme

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="nomlien" value="'.$data_menu['nom'].'" />

    Et comme ça tu peux récupérer le nom avec $_POST['nomlien'] ou $_GET['nomlien']
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 178
    Points : 252
    Points
    252
    Par défaut
    yes ^^

    Ca fonctionne impec' comme ça
    (j'étais en train de chercher un moyen de faire un while et récupérer la valeur du champs, et là avec un hidden ça passe tout seul et c'est beaucoup plus simple)
    Merci Seb33300

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    //ta résolu ton probleme entre temps

    Bonjour,
    j'ai relu ta question et je pense avoir cerné ce que tu veux.

    Comme tu le dis toi même : "Quand on clique sur Modifier j'aimerai que ça redirige vers une page avec un formulaire, qui serait déjà renseigné avec les valeurs actuelles (par défaut)."

    Je vois donc deux étapes :

    Etape 1 : Vire le submit et remplace le par un lien qui pointe vers par exemple une page modifier.php (c'est la page qui contient ton formulaire de modif)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td><a href=\"modifier.php?menu_id=".$data_menu['id']."\">modifier</a></td>
    Explications : Tu appelles la page modifier.php, en lui passant en get le paramètre menu_id qui vaut ici $data_menu['id']

    Etape 2 : la page modifier.php
    Dans cette page tu récupère la valeur passer en paramètre comme te la indiqué mathieu, puis tu refais une requete sur ta base et enfin tu affiche les données dans ton 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
     
    if (isset($_GET['menu_id'])) {
    $menu_id = $_GET['menu_id'];
    $sql_menu = 'SELECT nom, lien FROM menu WHERE id='.$menu_id; // requete sql
    $req_menu = mysql_query($sql_menu) or die('Erreur SQL !<br>'.$sql_menu.'<br>'.mysql_error());
    while($data_menu = mysql_fetch_assoc($req_menu))
    {
    //ici tu remplis ton form
    $form = "<form method=\"POST\" action=\"modifier.php\" name=\"modifier_menu\">";
    $form .= "<input type=\"hidden\" name=\"id\" value=\"".$menu_id."\">";
    $form .= "<input type=\"text\" name=\"nom\" value=\"".$data_menu['nom']."\">";
    $form .= "<input type=\"text\" name=\"lien\" value=\"".$data_menu['lien']."\">";
    $form .= "<input type=\"submit\" value=\"Valider\">";
    $form .= "</form>";
    echo $form;
    }
    }
    Ensuite dans ta page tu rajoute le traitement que tu veux faire sur ton form ce qui va te donner un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(isset($_POST['valider']))
    {
    $requete = "UPDATE menu SET nom=".mysql_real_escape_string($_POST['nom']).", ";
    $requete .= "lien=".mysql_real_escape_string($_POST['lien'])." WHERE id=".$_POST['id'];
     
    //ta plus qu'a executé ta requete
     
    }
    C'est une méthode parmis d'autres, on aurait aussi pu faire un formulaire dès le départ mais cela aurait été plus complexe, la solution présentée ici à l'avantage d'être très simple

    PS :dès que tu sera au point je te conseille de te mettre à la poo, une bonne class Menu serait bien plus avantageuse à l'utilisation

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

Discussions similaires

  1. Comment récupérer le nom d'un bouton ?
    Par sly60 dans le forum Langage
    Réponses: 6
    Dernier message: 16/01/2008, 14h13
  2. [POO] [IE] Récupérer nom d'un "Function"
    Par Pill_S dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/10/2007, 08h50
  3. Récupérer le nom d'un bouton par son Caption
    Par Duan dans le forum Delphi
    Réponses: 5
    Dernier message: 30/04/2007, 12h04
  4. [POO] Récupérer le nom de la classe d'un objet
    Par boux2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/04/2007, 09h13
  5. [POO] Récupérer le nom d'un objet ?
    Par beastman007 dans le forum Langage
    Réponses: 2
    Dernier message: 13/03/2007, 14h11

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