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 :

Récupérer une variable dans une zone à cocher


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Par défaut Récupérer une variable dans une zone à cocher
    Bonsoir,

    Je ne parviens pas à récupérer la variable qui se trouve dans cette ligne ci dessous, enfaite quand je coche je voudrais savoir sur quel nom de table je me trouve afin de pouvoir l'utiliser dans un autre fichier php.

    Avez vous une idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="checkbox" name="<?echo $sql_table_name[$unit_tmp][$i];?>" value="yes" <?if ($$sql_table_name[$unit_tmp][$i] == "yes") echo "checked"?>>&nbsp;&nbsp;&nbsp;<?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Par défaut
    sur la page où tu récupères les variables rajoute :

    sur tu passes en post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<pre>"; print_r($_POST); echo "</pre>";
    sur tu passes en get :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<pre>"; print_r($_GET); echo "</pre>";
    cela t'affichera toutes les variables que tu renvoies en post/get
    donc tu verras en particulier les variables que tu créés avec tes checkbox
    (si je me rapelle bien si la checkbox est vide ça ne renvoit pas de variable, sinon ça te renvoit la variable avec la valeur dans value donc ici "yes"... )




    sinon en passant c'est normal que d'un coté du tu aies un seul $ devant sql_table_name et deux l'autres 2 $ ?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    salut! je crois que tu essais de recupérer le mauvais attribut. En fait on ne peut pas recupérer l'attribut Name, c'est plutot le value que tu recupères.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="myChB" value="<?echo $sql_table_name[$unit_tmp][$i];?>" <?if ($$sql_table_name[$unit_tmp][$i] == "yes") echo "checked"?>>&nbsp;&nbsp;&nbsp;<?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Par défaut
    Bonjour,

    Merci à vous pour vos réponse, enfaite se que je voudrais réaliser c'est de récupérer la valeur qui à été checker et le nom de cette variable est " $sql_table_name[$unit_tmp][$i]>"

    Je ne vois pas comment je dois faire vu que value est = à "yes" ?

    Voici un peu plus de 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
     
    <input type="checkbox" name="<?echo $sql_table_name[$unit_tmp][$i];?>" value="yes" <?if ($$sql_table_name[$unit_tmp][$i] == "yes") echo "checked"?>>&nbsp;&nbsp;&nbsp;<?
     
    		}
    	}
    	closedir($handle);?>
    	</td>
     
    <?
    }
    /***  change names of sql tables - configured in config.php  ***/
    foreach ($sql_table_name as $key => $value) {
    	foreach($value as $key1 => $value1){
    		$sql_table_name[$key][$key1] = strtr($value1, $transformTableNames);
    	}
    }
    ?>
    </tr>
     
    </table>
     
    <p>
     
    <input type="submit" name="update" value="go update">
     
    </p>
    </form>
    <?
    if ($update=="go update"){
    	ini_set("max_execution_time",$maxExecTime);
     
    $sql = new cSQL;
    $sql->connect($sql_type, $sql_host, $sql_user, $sql_pass, $sql_db);	 		
     
    echo "<b><font color='blue'>User ".$sql_user.": working on ".$sql->sql_type.", using database ".$sql_db." on ".$sql_host."</font></b><br><br>";

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Par défaut
    Une petite question :
    avec votre code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<pre>"; print_r($_POST); echo "</pre>";
    j'arrive à obtenir :

    Array
    (
    [dataclient_data_anf] => yes
    [datacommande_data_ant] => yes
    [update] => go update
    )

    sur la même page que celle où je fais mon choix.
    Est-il possible de n'obtenir que dataclient_data_anf, datacommande_data_ant écrits de cette manière afin que je puisse effectuer mon select dessus (ces 2 noms représentent en fait les noms des tables choisies) sans avoir le reste des données ?
    Merci pour votre aide.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    comme te le dit ouatmad c'est l'attribut value que tu récupère quand une chexbox est coché donc pour faire simple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <input type="checkbox" name="choixtable[]" value="table1" >
     <input type="checkbox" name="choixtable[]" value="table2" > 
     <input type="checkbox" name="choixtable[]" value="table3" >
    la tu as 3 checkbox est toutes les tables sélectionnées seront ,une fois le formulaire soumis, dans le tableau $_POST['checkbox']

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Par défaut
    merci à toi, mais je ne comprends pas bien.
    En fait, j'ai été chercher un programme qui convertit des fichiers.dbf en fichiers mysql.
    Voici le lien : http://server.bo-bo.si/index.php?call=2.1
    J'utilise donc le programme convert dbf-sql.

    Dans ce programme qui est très bien fait, à la page input.php, il traite les fichiers qui ont été cochés via le checkbox.
    Ce que je voudrais faire, c'est récupérer le nom des fichiers qui ont été cochés, afin de pouvoir envoyer ces noms sur une autre page via un bouton, et pouvoir ensuite faire des sélects dessus.
    Ces noms cochés sont en fait la variable que je voudrais récupérer.
    Merci à toi pour ton aide car je ne vois pas comment faire. J'ai déjà tout essayé.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    regarde le traitement du formulaire où il y a les checkboxs et fait directemment les select que tu desires la

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 60
    Par défaut
    1)moi je recupererai dans un premier temps le nom de ta variable:
    $nom=$sql_table_name[$unit_tmp][$i]

    2)ensuite tut'occupes de ton inputbox:
    <input type="checkbox" name="<?echo $nom;?>" value="yes" <?if ($$sql_table_name[$unit_tmp][$i] == "yes") echo "checked"?>>&nbsp;&nbsp;&nbsp;<?

    3)Lorsque tu envoi ton formulaire via ton bouton sumit vers une page X
    =>tu peux recuperer la valeur de ton "checkbox" dans cette page X
    si tu fais un : echo $nom; => tu devrais recuperer la valeur de ta variable.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Par défaut
    voilà, j'essaie de faire ce que vous me dite.
    J'ai encore un problème avec mon post. Pourriez-vous me dire ce qui ne va pas dans ma syntaxe ?

    echo"<form method='post' action='result.php'><input type='submit' name='submit' value='Poster le message'></form>";

    J'envoie mon formulaire sur ma page result.php.
    Sur celle-ci se trouve :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?
    echo $POST['nom'];
    ?>
    Mais j'arrive sur une page blanche...

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Par défaut
    je ne parviens pas à envoyer ma variable.
    Voici ce que j'utilise comme instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo"<form method='post' action='$nom'><input type='submit' ></form>
    Rien ne fonctionne. L'idée est très bonne mais je n'arrive pas à envoyer mes données. A mon avis, c'est mon instruction qui est mauvaise.
    Qui pourrait m'aider ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 60
    Par défaut
    Ah oui c'est normal que tu n'arries pas à recuperer ta variable dans la page qui recoit les données de ton formulaire car selon la version de php que tu as :
    Tu as une option " register_globals=OFF" or ceci est mis par defaut pour les recentes versions ^^
    Il faut donc que tu trouves ton fichier de configuration php et que tu mettes:
    "registe_globals=ON"
    Et je pense que ton probleme sera résolu car j'ai deja eu le meme probleme !

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    Citation Envoyé par emmy99 Voir le message
    je ne parviens pas à envoyer ma variable.
    Voici ce que j'utilise comme instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo"<form method='post' action='$nom'><input type='submit' ></form>
    Rien ne fonctionne. L'idée est très bonne mais je n'arrive pas à envoyer mes données. A mon avis, c'est mon instruction qui est mauvaise.
    Qui pourrait m'aider ?
    Peux tu montrer la page ou ya ton formulaire? je veux voir ce que t'a mis entre tes balises <form> et </form>

  14. #14
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    quelque précision:
    1)moi je recupererai dans un premier temps le nom de ta variable:
    $nom=$sql_table_name[$unit_tmp][$i]

    2)ensuite tut'occupes de ton inputbox:
    <input type="checkbox" name="<?echo $nom;?>" value="yes" <?if ($$sql_table_name[$unit_tmp][$i] == "yes") echo "checked"?>>&nbsp;&nbsp;&nbsp;<?
    cela ne change pas le probleme tu ne fais que assigner une variable dans une autre variable $nom changera toujour pour chaque checkbox


    3)Lorsque tu envoi ton formulaire via ton bouton sumit vers une page X
    =>tu peux recuperer la valeur de ton "checkbox" dans cette page X
    si tu fais un : echo $nom; => tu devrais recuperer la valeur de ta variable.

    les checkbox sont deja dans un formulaire qui renvoi deja les résultats vers un traitement :

    <form name="form1" method="post" action="<? echo $PHP_SELF ?>">

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. [MySQL] Récupérer le résultat d'une requête dans une variable
    Par kryogen dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/10/2007, 14h29
  4. Réponses: 5
    Dernier message: 28/09/2007, 14h58
  5. Comment récupérer le contenu d'une URL dans une variable ?
    Par Fildz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2006, 09h26

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