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] controler la nom selection de 2 check box


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Points : 63
    Points
    63
    Par défaut [PHP-JS] controler la nom selection de 2 check box
    Bonjour a tous, voila mon probleme:

    Je crée une lsite dynamique de valeurs avec une base sql pour créer des check box: 2 par ligne

    -->j'ai une fiche de surveillance, je peux la supprimer ou la restaurer. Or si je clicque sur les 2 valeurs en meme temps, je voudrai bloquer le traitement du formulaire!

    Voici le code actuel:

    1) celui du formulaire:

    <table width="700" cellpadding="0" cellspacing="0" border="0" bgcolor="#EFEFEF">
    <tr bgcolor="#E5E5E5">
    <td><b><i>UEP</i></b></td>
    <td><b><i>Module</i></b></td>
    <td><b><i>Intitulé</i></b></td>
    <td><b><font color='#E8661D'>Type Fiche</font></b></td>
    <td><b><i>Date de Création</i></b></td>
    <td><b><i>Restaurer</i></b></td>
    <td><b><i>Supprimer</i></b></td>
    </tr>
    <form name="suppression" enctype="multipart/form-data" method="post" action="">
    <?
    $cpt = 1;
    $requete2 = mysql_query("SELECT * FROM t_fiche WHERE `active`='0' ORDER BY 'uep','module','type_f'") or die (mysql_error());
    while($res = mysql_fetch_array($requete2))
    {
    $id=$res['id_fiche'];
    echo "<tr ";
    if (($cpt%2) == 0) echo "bgcolor=\"#E5E5E5\"";
    echo ">";
    echo "<td>".$res['uep']."</td>";
    echo "<td>".$res['module']."</td>";
    echo "<td><a href='index.php?page=visu_fiche&id=".$id."'><img src='images/deco/visu.gif' border='0' >".$res['libelle_f']."</a></td>";
    echo "<td><b><font color='#E8661D'>".$res['type_f']."</font></b></td>";
    echo "<td>".$res['date']."</td>";
    echo '<td><input type="checkbox" name="restaurer[]" value="'.$id.'"></td>';
    echo '<td><input type="checkbox" name="choix[]" value="'.$id.'"></td>';
    echo "</tr>";
    $cpt++;
    }
    ?>
    <tr>
    <td colspan="7"><br><div align="center"><input name="supp" type="submit" value="Valider " /><br><br></div></td>
    <tr>
    </form>
    </table>

    2) traitement des donnes


    if (isset($_POST['supp']))
    {
    $choix = $_POST['choix'];
    $restaurer = $_POST['restaurer'];
    //on va récupérer toutes les cases sélectionnées, pour choix d'abord ( demande de suppression définitive de la table)
    if(!empty($choix))
    {
    foreach($choix as $rep)
    {
    if(!empty($rep))
    {
    $id=$rep;
    //reprendre le nom de l'image, la supprimer physiquement du répertoire!
    $requete = mysql_query("SELECT * FROM t_fiche WHERE `id_fiche`='$id' ") or die (mysql_error());
    $donnees = mysql_fetch_array($requete)or die (mysql_error());
    $image1= $donnees['image1'];
    $image2= $donnees['image2'];
    //si image 1 presente (non vide)
    if(!empty($image1))
    {
    unlink ("up_images/$image1");
    }
    if(!empty($image2))
    {
    unlink ("up_images/$image2");
    }
    //effacement définitif de la bdd
    mysql_query("DELETE FROM t_fiche WHERE `id_fiche`='$id' ") or die (mysql_error());
    //echo $id;
    }
    }
    }
    //on va récupérer toutes les cases sélectionnées, pour choix d'abord ( demande de suppression définitive de la table)
    if(!empty($restaurer))
    {

    foreach($restaurer as $rep2)
    {
    if(!empty($rep2))
    {
    $id=$rep2;
    //restauration simple de la fiche: on la reactive!
    mysql_query("UPDATE t_fiche SET `active`='1' WHERE `id_fiche`='$id' ") or die (mysql_error());
    //echo $id;
    }
    }
    }


    Merci beaucoup pour votre aide! Je galere dessus!

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Je te conseille à l'avenir d'écrire un code moins long car c'est rebutant à la lecture et aussi pense à utiliser les balises codes pour encadrer ton code.

    Sinon pour en revenir à ton problème, pourquoi ne pas utiliser les boutons radios pluto que des checkboxes?
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Points : 63
    Points
    63
    Par défaut
    et bien en fait je veux permettre une selection multiple sur plusieurs colonnes mais empecher les 2 cases d'etres cochées sur la meme ligne. la mise en forme du code est partie avec le copier/coller, désolé...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    la reponse se trouvera certainement dans le forum javascript
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Points : 63
    Points
    63
    Par défaut
    ça m'etonnerai, c'est plus dans le traitement du formulaire a mon avis!

  6. #6
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    je répète ce que j'ai dis en utilisant des boutons radios tu ne permet pas d'avoir tes 2 cases cocher.
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Points : 63
    Points
    63
    Par défaut
    le probleme, si je fais ça, je ne pourrai pas récupérer plusieurs lignes de choix....

  8. #8
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    essaye d'associer les cases d'une meme ligne au meme groupe cad meme nom et avec une fonction JS sur onClick qui permet une seule case coché

    _____________________
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard

  9. #9
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    si c'est possible en faisant par exemple:
    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
     
    $i=0
    while($res = mysql_fetch_array($requete2)) 
    { 
    $id=$res['id_fiche']; 
    echo "<tr "; 
    if (($cpt%2) == 0) echo "bgcolor=\"#E5E5E5\""; 
    echo ">"; 
    echo "<td>".$res['uep']."</td>"; 
    echo "<td>".$res['module']."</td>"; 
    echo "<td><a href='index.php?page=visu_fiche&id=".$id."'><img src='images/deco/visu.gif' border='0' >".$res['libelle_f']."</a></td>"; 
    echo "<td><b><font color='#E8661D'>".$res['type_f']."</font></b></td>"; 
    echo "<td>".$res['date']."</td>"; 
    echo '<td><input type="radio" name="choix['.$i.'][]" value="restaurer '.$id.'"></td>'; 
    echo '<td><input type="radio" name="choix['.$i.'][]" value="supprimer '.$id.'"></td>'; 
    echo "</tr>"; 
    $cpt++;
    $i++
    }
    Pense aussi au "\n" à la fin de tes echos pour rendre ton code html plus lisible.
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Points : 63
    Points
    63
    Par défaut
    ah? je comrpend pas bien commen tu utilise le compteur i et son role?

  11. #11
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    son role est de grouper les boutons radios correspondant à restaurer et supprimer.
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

Discussions similaires

  1. S'adresser à une checkbox ayant comme nom " selection[]
    Par AlphaYoDa dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/02/2006, 22h35
  2. [PHP-JS] Controle de saisie
    Par toitoine01 dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2006, 15h30
  3. [POO] [PHP 4.4.X] Nom d'une propriété de classe
    Par stailer dans le forum Langage
    Réponses: 8
    Dernier message: 11/12/2005, 23h02
  4. [mysql - php] plusieurs tables pour un select ORDER BY
    Par sanosuke85 dans le forum Requêtes
    Réponses: 9
    Dernier message: 06/12/2005, 19h25
  5. Réponses: 4
    Dernier message: 28/07/2005, 10h45

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