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

SQL Procédural MySQL Discussion :

Problème cases à cocher avec connection Mysql


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut Problème cases à cocher avec connection Mysql
    je me suis grandement inspiré de la partie case à cocher (partie V) de cette page
    http://julp.developpez.com/php/formulaires/
    mais je dois l'adapter...
    en effet je dois faire une connection à la table "thematique" de ma base de donnée et afficher autant de case à cocher qu'il y a de thématiques;
    ensuite c'est exactement la meme chose que dans l'exemple des cases à cocher de l'URL ci-avant c'est à dire que cela doit cocher les cases qui ont été cochées mais je n'y arrive pas...

    voici le code de thematique.php ou c'est surtout la ligne que j'ai mis en évidence qui me pose d'énormes problèmes j'ai du mal avec sa syntaxe...
    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
     
     
    <?
    include("connection.php"); //connection à la base
    include("fonction.php");
    // on regarde s'il y a des thématiques dans la table 
    $sql = "SELECT * FROM thematique";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    <form method="POST">
    //parcours des resultats  et affichage des contacts
    while($row = mysql_fetch_array($req))
    {
          echo $row['thematique'];
          $option=$row['thematique'];
     
           //*****************c'est cette ligne qui suit qui pose problème****************
         echo "<input type='checkbox' name='thematique[]' value=$option if (was_selected($option)) {' checked'; }";
     
    }
          <input type="submit" value="OK">
    </form>

    La fonction was_selected que j'appelle qui est dans fonction.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    function was_selected($option) 
    {
    GLOBAL $thematique; 
    for ($j=0; $j<count($thematique); $j++) 
    {
        if ($thematique[$j] == $option) 
        {
           return TRUE;
        }
    }
    Merci d'avance :o

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    pour cocher une checkbox, tu dois mettre l'attribut suivant :
    et c'est tout.

  3. #3
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    en es tu sur Mr N?
    Je crois que checked seulement suffit.

    moi j'essaierai cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         echo "<input type='checkbox' name='thematique[]' value='".$option."'  if (was_selected($option)) {' checked'; }.">";
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    c'est quoi ces if qui trainent au milieu d'un tag html ???
    Voyons un peu de sérieux messieurs-dames

    Oui je suis sur qu'il suffit de mettre checked="checked". tu peux mettre checked tout court, mais c'est plus mieux bien pour moi de mettre une valeur à un attribut

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    ah ok Mr N (o source de savoir inepuisable )
    C'est varsi que le if dans le tag html me parraissait un peu bizarre et en plus le tag n'est pas ferme.
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 103
    Points
    103
    Par défaut
    hello,

    ui je suis sur qu'il suffit de mettre checked="checked". tu peux mettre checked tout court, mais c'est plus mieux bien pour moi de mettre une valeur à un attribut Wink
    c'est plus mieux bien aussi pour mr w3c :-)

    Pour le if(), je pense qu'il voulait un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<input type="checkbox" name="thematique[]" value="', $option, '" ', $checked = (was_selected ($option) === true)?'checked="checked"':'', '/>';

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 12
    Points
    12
    Par défaut
    yiannis avait raison merci!!!

  8. #8
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    merci , mais Mr N et johan_barbier aussi, alors essaie de faire comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<input type='checkbox' name='thematique[]' value='".$option."'  if (was_selected($option)) {' checked=checked'; }.">";
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    décidément tu y tiens à ton if en plein milieu d'un tag html

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

Discussions similaires

  1. Utilisation de case à cocher avec VB6 dans Datagrid
    Par seyiv dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/05/2007, 15h11
  2. Case à cocher avec nom de case changeant
    Par u115rcu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/05/2007, 14h56
  3. Réponses: 3
    Dernier message: 09/01/2007, 09h37
  4. [MySQL] Stocker résultats des cases à cocher dans table Mysql
    Par yadou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/11/2006, 23h26
  5. Case à Cocher avec Requête SELECT DISTINCT
    Par Polo_973 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/04/2006, 17h35

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