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 :

[PHP-JS] comment lier deux variable à un bouton radio


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut [PHP-JS] comment lier deux variable à un bouton radio
    Bonjour,
    Voila je voudrais lier deux variables ayant des valeurs differentes à un bouton radio, coment puis-je faire? merci.

  2. #2
    Membre éprouvé Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Par défaut
    Tu ne peux pas car ça n'a pas d'intérêt. Réfléchi un peu et tu va voir que tu peux t'en passer.

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    peut être que ca n'a pas d'interet mais dans mon probleme ca peut être utile, car je voudrais afficher deux valeurs differente à des endroit opposés dans ma page, si le bouton radio est sélectionné en gros ca m'affiche une entete et un pied de page, en sachant que ces valeurs changes grace à leur variable, voila le truc, merci. OUi mais ce n'est pas le meme probleme je voulais pas le mettre dans le meme post, désolé.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je retire ce que j'ai dit si ce n'est pas le meme post, ca semblait très semblable.

    Dans ce cas je n'ai pas compris quel était ton probleme pourrais essayer d'expliquer différemment s'il te plait?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    alors j'ai un bouton radio qui s'appel A
    quand ce bouton A est sélectionné ca envoi une valeur dans une variable X (l'entete) et envoi aussi une autre valeur dans une autre variable appelé Y(pied de page)
    car je dois choisir un bon ( livraison et reprise) suivant un bouton radio et donc je dois afficher le titre et un pied de page correspondant au bon choisie, je me suis dit que le plus simple c'est d'affecter deux variable à un bouton radio, mais je ne vois pas comment faire.

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Ben il "suffit" de définir ton entête en fonction de la valeur de ton bouton radio, idem pour ton pied de page. Je ne vois pas pourquoi tu voudrais associer les deux valeurs au bouton radio au lieu de faire (pour l'entete et le pied de page)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if( $_POST['A'] == "livraison")
       $entete = "entete de livraison";
    else
       $entete = "entete de commande";
    et idem dans le pied de page.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    merci pour ta réponse, alors soit je ne sais pas ou mettre ton code, soit il y a une erreur car il me dit que je n'ai rien indiqué à la variable entete, aussi mes variables sont stockées dans une base de donnée

  8. #8
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Donnes moi un peu de code pour t'aider parce que là j'ai vraiment du mal à te suivre

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    j'ai inserer ton code dans ma page formulaire en mettant les balise 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
     
    <p id="contrat"><label>Contrat : </label>
       <input type="radio" name="contrat" value="Contrat de livraison" CHECKED />Contrat de livraison
        <input type="radio" name="contrat" value="Contrat de reprise" />Contrat de reprise
     
    <p id="contrat"><label>Facture : </label>
        <input type="radio" name="contrat" value="Facture" />Facture
        <input type="radio" name="contrat" value="Avoir sur" />Avoir
     
    <?php
    if( $_POST['contrat'] == "Contrat de livraison")
       $contrat1 = "entete de livraison;
    else
       $contrat1 = "entete de commande";
    ?>

  10. #10
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je suis désolé mais je n'arrive pas bien à comprendre ton code, tes 4 boutons radios ont le meme noms alors qu'ils semblent être séparés en deux groupes, donc on ne peut sélectionner qu'un seul des deux.

    Ensuite, tu utilises le $_POST[] juste en dessous, alors que $_POST[] n'a de sens que lorsque tu es dans un formulaire et que tu as appuyé sur un bouton submit (ou un équivalent).

    Je n'arrive pas du tout à comprendre ce que tu veux faire.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    oui tas raison j'ai pas mis le bon code:

    fichier formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      <p id="civilite"><label>Contrat : </label>
     
     
    <input type="checkbox" name="contrat0" value="Contrat de livraison" CHECKED />Contrat de livraison
     
    <input type="radio" name="contrat0" value="Contrat de reprise" />Contrat de reprise
        <p id="civilite"><label>Facture : </label>
        <input type="radio" name="contrat1" value="Facture" />Facture
        <input type="radio" name="contrat1" value="Avoir sur" />Avoir
    fichier traitement

    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
    <?php
    session_start();
     
    include('connection.inc.php');
     
     
    //Crealog 2007
     
     
     
      $interets = $_POST['interets'];
      $sqlinterets = '';
      for ($i=0; $i<count($interets); $i++)
      {
        $sqlinterets .= $interets[$i];
        $sqlinterets .= '
    ';
      }
     
     
      $options = $_POST['options'];
      $sqloptions = '';
      for ($i=0; $i<count($options); $i++)
      {
        $sqloptions .= $options[$i];
        $sqloptions .=  '
    ';
      }
     
     
    $ref = $_POST['ref'];
      $sqlref = '';
      for ($i=0; $i<count($ref); $i++)
      {
        $sqlref .= $ref[$i];
        $sqlref .= '
    ';
      }
     
     
    $ref1 = $_POST['ref1'];
      $sqlref1 = '';
      for ($i=0; $i<count($ref1); $i++)
      {
        $sqlref1 .= $ref1[$i];
        $sqlref1 .= '
    ';
      }
     
     
    if( $_POST['contrat'] == "Contrat de livraison")
       $contrat2 = "entete de livraison";
    else
       $contrat2 = "entete de commande";
     
     
     
    $query = "INSERT INTO contact (idcontact,adress_client,adress_chantier,codepostal_client,codepostal_chantier,civilite,civilite_chantier,tel_client,tel_chantier,fax_client,fax_chantier,interlocuteur_client,interlocuteur_chantier,societe,zone,num_cmd,num_chantier,num_serie,num_contrat,contrat,contrat1,debut_loc,fin_loc,date,interets,options,conduc,fuel_d,fuel_r,prix,prix1,prix2,prix3,prix4,prix5,prix6,prix7,prix8,prix9,prix10,prix11,prix12,qte,qte1,qte2,qte3,qte4,qte5,qte6,qte7,qte8,qte9,qte10,qte11,qte12,ref,ref1,remise,h_loc,idx_contrat) VALUES('','".$_POST['adress_client']."','".$_POST['adress_chantier']."','".$_POST['codepostal_client']."','".$_POST['codepostal_chantier']."','".$_POST['civilite']."','".$_POST['civilite_chantier']."','".$_POST['tel_client']."','".$_POST['tel_chantier']."','".$_POST['fax_client']."','".$_POST['fax_chantier']."','".$_POST['interlocuteur_client']."','".$_POST['interlocuteur_chantier']."','".$_POST['societe']."','".$_POST['zone']."','".$_POST['num_cmd']."','".$_POST['num_chantier']."','".$_POST['num_serie']."','".$_POST['num_contrat']."','".$_POST['contrat']."','".$_POST['contrat1']."','".$_POST['debut_loc']."','".$_POST['fin_loc']."','".$_POST['date']."','".$sqlinterets."','".$sqloptions."','".$_POST['conduc']."','".$_POST['fuel_d']."','".$_POST['fuel_r']."','".$_POST['prix']."','".$_POST['prix1']."','".$_POST['prix2']."','".$_POST['prix3']."','".$_POST['prix4']."','".$_POST['prix5']."','".$_POST['prix6']."','".$_POST['prix7']."','".$_POST['prix8']."','".$_POST['prix9']."','".$_POST['prix10']."','".$_POST['prix11']."','".$_POST['prix12']."','".$_POST['qte']."','".$_POST['qte1']."','".$_POST['qte2']."','".$_POST['qte3']."','".$_POST['qte4']."','".$_POST['qte5']."','".$_POST['qte6']."','".$_POST['qte7']."','".$_POST['qte8']."','".$_POST['qte9']."','".$_POST['qte10']."','".$_POST['qte11']."','".$_POST['qte12']."','".$sqlref."','".$sqlref1."','".$_POST['remise']."','".$_POST['h_loc']."','".$_POST['idx_contrat']."')";
     
    $result = mysql_query($query) OR die ('Erreur SQL !<br>'.mysql_error()); 
     
    $sql="SELECT idcontact FROM contact WHERE idx_contrat = '".$_POST['idx_contrat']."'"; 
     
    $soluce = mysql_query($sql); 
    $row = mysql_fetch_array($soluce); 
     
    $_SESSION['idcontact'] = $row['idcontact']; 
     
     
    header('location: pdf.php'); 
     
    ?>

  12. #12
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    tu définis l'entete dans la variable $contrat2
    or ensuite tu rediriges avec le header vers le fichier PDF.php qui lui ne connait pas cette variable $contrat2 d'où l'erreur, pourquoi ne crées tu pas le pdf directement dans traitement.php?

    Sinon passes la variable $contrat2 en paramètre de l'url...

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    j'ai redefini contrat2, mais il y a toujours un probleme, mais que veux tu dire en disant: "Sinon passes la variable $contrat2 en paramètre de l'url..." aussi autre question si j'arrive pas comme ca, est il possible de cocher une checkbox directement avec un bouton radio?

  14. #14
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    On ne se comprend pas du tout je crois

    Tu as trois étapes !

    1/ la page avec ton formulaire qui contient des boutons radios.
    2/ la page traitement qui recoit le formulaire posté et donc les valeurs choisies dans les boutons radios.
    A ce niveau, tu décides de la valeur de ton header dans $contrat2 apparemment
    3/ le script PDF.php qui lui va te créer ton pdf. Lui ne recoit pas de formulaire et il n'a aucune idée de qui est la variable $contrat2.

    3 solutions :
    1/ tu passes soit la valeur du bouton radio soit directement $contrat2 dans l'url, dans le style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: PDF.php?contrat2=contratdelivraison");
    Mais ca pose problème avec les espaces, caractères spéciaux etc (faut utiliser urlencode je crois)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: PDF.php?contrat2=" . urlencode($contrat2));
    Dans ce cas, dans PDF.php tu récupères l'entête dans $_GET['contrat2'] (et tu utilises urldecode() dans ce cas).

    2/ Tu utilises le code de PDF.php dans traitement.php au lieu de "rediriger" donc tu fais des fonctions qui créent ton pdf et tu les appelles dans traitement.php qui lui connait toutes les valeurs du formulaire

    3/ tu définis un nouveau formulaire dans traitement.php qui va contenir l'entête le pied de page etc et tu postes ce formulaire directement (en javascript)

    y a surement d'autres solutions mais c'est deja ca.
    Et j'ai une préférence pour la solution 2.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    merci pour tes réponses entierement suffisante mais je vais encore t'embeter, car la varaible contrat2 ne se trouve pas dans pdf.php mais dans un autre fichier invoice.php que j'appel avec la fonction global alors t'as deuxieme réponse pourrait marcher dans ce cas?

    fichier invoice.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
     
    ...
    //Pied de page
    function footer()
    {
    global $contrat2; 
     
    //Positionnement à 2 cm du bas    
        $this->SetY(-20);
        //Police Arial italique 4
        $this->SetFont('Arial','I',6);
        //signature
        $this->Cell(0,10,$contrat2, 0,0,'C');
     
    }

  16. #16
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Cette méthode du global ne marchera que si footer.php est inclus dans invoice.php.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/12/2009, 12h11
  2. comment lier deux variables ensemble?
    Par faucon54 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 16/05/2007, 21h05
  3. [MySQL] comment lier deux variables ensemble?
    Par faucon54 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/05/2007, 09h02
  4. [FPDF] comment lier deux variables ensemble?
    Par faucon54 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/05/2007, 18h05
  5. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45

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