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 :

Problème tableau php [MySQL]


Sujet :

PHP & Base de données

Vue hybride

mmmppp1903 Problème tableau php 09/11/2012, 23h59
ericd69 salut, seules les... 10/11/2012, 04h14
ABCIWEB Normal, quand tu fait un... 10/11/2012, 04h23
mmmppp1903 Bonjour, j'ai fait ce que tu... 10/11/2012, 10h46
rawsrc Salut, allez parce que... 10/11/2012, 11h49
mmmppp1903 Bonjour, je n'ai toujours pas... 10/11/2012, 15h54
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut Problème tableau php
    Bonjour !

    Je suis face à un problème de "cases cochées", j'ai généré un tableau avec des cases allant de 1 à 45 avec une boucle FOR, et dans chacune de ces cases, il y a un "checkbox" mais lorsque je coche mes cases et puis lorsque j'appuie sur Submit, les cases cochées disparaissent.. Veuillez m'aidé s'il vous plaît !

    Merci à tous !

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    seules les checkboxes validées sont transmises normalement, c'est à dire celle qui sont cochées...

    quand tu as des doutes sur ce qui est envoyé fais un:
    pour voir ce qui est retourné et comment c'est organisé...

    méfie toi donc des indices générés pour ton tableau...

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Normal, quand tu fait un submit, ça envoie le formulaire et au retour ça raffraichi la page et donc tes case ne sont plus cochées.
    Il faut donc réafficher les cases cochées en fonctions du résultat du post. Sur le principe tu peux tester :
    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
    <?php
    //juste pour visualiser le tableau
    if (isset($_POST['ok']))
    {
    echo '<pre>';
    print_r($_POST['ok']);
    echo '</pre>';
    }
    ?>
     
    <form action="" method="post">
    <?php for($i=1 ; $i<=5 ; $i++)
    {?>
    	<input type="checkbox" name="ok[]" value="<?php echo $i?>" <?php if(isset($_POST['ok']) && in_array($i,$_POST['ok'])) echo 'checked="checked"'?>><?php echo $i?><br />
     <?php } ?>
     <input type = "submit" value = "submit" />
    </form>
    C'est le checked="checked" qui coche le checkbox en fonction du résultat du post. Tu peux aussi enregistrer ton post dans une variable de session.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Bonjour, j'ai fait ce que tu me demande mais rien ne se passe, Lorsque je clique sur JOUER il n'y a rien qui apparait Je crois que je me suis trompé dans le code ..


    Pour le formulaire ; je n'ai pas très bien comprit où est mon erreur..


    Pour la validation du formulaire, j'ai rajouté ;

    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
    <?php
    $tm="";
     
    if(isset($_POST['ok']) AND in_array($i, $_POST['ok'])){
    echo 'checked="checked"';
    echo $i;
    $tm=$_POST["ok"];
     
    echo "Les chiffres choisit sont : <br/>\n";
     
    for ($i=0; $i <count($tm); $i++)
    {
    echo $tm[$i].",";
     
    }
    }
     
    ?>
    J'obtient ceci pour la visualisation du tableau :

    Array
    (
    [0] => 24
    [1] => 25
    [2] => 33
    )

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    allez parce que c'est le week-end, une piste clé en main :
    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
    <?php
     
    $rows     = array();
    $selected = array();
    $message  = '';
     
    // on s'assure que les données récupérées sont correctes
    if (( ! empty($_POST['ok'])) && is_array($_POST['ok'])) {
        $selected = array_filter($_POST['ok'], function($p) { return (bool)intval($p); });
        if ( ! empty($selected)) {
            sort($selected);
            $message  = 'Les chiffres choisis sont : '.implode(', ', $selected);
            $selected = array_flip($selected);
        }
    }
     
    for($i = 1 ; $i <= 45 ; ++$i) {
        // ligne
        $rows[] = '<tr>';
        // colonnes
        for($j = 1 ; $j <= 9 ; ++$j) {
            $checked = (isset($selected[$i])) ? ' checked="checked" ' : '';
            $rows[]  =
    <<<HTML
    <td align="center"><input type="checkbox" {$checked} name="ok[]" value="{$i}">{$i}</td>
    HTML;
            ++$i;
        }
        $rows[] = '</tr>';
    }
    ?>
    <html>
    <body>
    <form action="dvp.php" method="post">
        <table border="3" width="80" cellspacing="10" bordercolor="blue" bgcolor="orange" colspan="9">
            <?php echo implode("\n", $rows); ?>
        </table>
        <input type="submit" value="Jouer">
    </form>
    <?php echo $message; ?>
    </body>
    </html>

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Bonjour, je n'ai toujours pas résolu mon problême svp guidé moi parce queje suis encore débutant en php. Merci

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Tu es trop vague dans ta demande, on ne peut pas t'aider sans plus de précisions...
    Par exemple as-tu tester le code que je t'ai donné dans une page séparée ?
    Si non fais-le pour comprendre le fonctionnement. Et si cela ne te convient pas dis-nous précisément ce que tu veux exactement.

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

Discussions similaires

  1. Problème tableau php xml
    Par kirua99 dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2011, 15h30
  2. problème tableau php javascript
    Par eric204044 dans le forum Langages serveur
    Réponses: 0
    Dernier message: 01/07/2010, 21h26
  3. [SQL] problème de variable tableau PHP contenant les données d'une jointure SQL
    Par Schpountz42 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2007, 05h59
  4. Réponses: 5
    Dernier message: 02/08/2006, 17h05
  5. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34

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