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 :

formulaire automatisés pour gestion d'une liste


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Points : 73
    Points
    73
    Par défaut formulaire automatisés pour gestion d'une liste
    Bonjour,

    Je voudrais faire une chose que je ne vois pas comment réaliser :

    Je voudrais créer un checkbox dans un formulaire,
    et des qu'on check ca fait une action,
    et des qu'on décheck ca fait une action aussi.

    Seulement l'action que je veux faire c'est changer la valeur d'une cellule de ma base de donnée mysql...

    1 quand check
    2 quand pas check

    Si vous avez des idées, ou une solution équivalente à celle la à me proposer...

    Merci d'avance

  2. #2
    Membre habitué Avatar de Aliosha
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 124
    Points : 138
    Points
    138
    Par défaut
    (La valeur dans la table MySQL peut être de type binaire - 0 ou 1.)

    Concernant ta demande, si tu utilises seulement PHP, tu es obligé de recharger la page pour envoyer cette requête (donc avoir un bouton "Valider" - input type submit).

    Sinon, utiliser JavaScript si vraiment tu ne veux pas recharger la page (mais ça n'est pas du tout mon domaine, et je ne sais pas si JavaScript est à même de faire des requêtes MySQL !).

    Concernant la récupération de la valeur ta checkbox à partir des données $_POST de ton formulaire envoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (!isSet($_POST['nom_checkbox'])) {
    $coche = 0; // La checkbox n'est pas cochée.
    }
    else {
    $coche = 1; // La checkbox est cochée.
    }
    // Puis ta requête avec cette valeur.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Points : 73
    Points
    73
    Par défaut
    Merci de ton aide,

    mais en fait j'ai un probleme c'est que cette fonction je veux l'utiliser sur un panneau d'administration d'attribut sur des produits,

    il y a une liste de 300 attributs affectés chacun à un produit, et donc je peux pas faire ca pour chaque produit ca va etre relou

  4. #4
    Membre habitué Avatar de Aliosha
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 124
    Points : 138
    Points
    138
    Par défaut
    Tu incorpores, dans ta boucle créant le tableau de ces trois cent données, un name dynamique. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $requete = "SELECT etc" // Ta requête MySQL
    while ($donnees = $tes_resultats) {
    ...
    echo "<input type='checkbox' name='nom_checkbox".$id_produit."' label='$produit'>";
    }
    Puis ensuite, dans la récupération de tes données POST : une autre boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $requete = "SELECT etc" // Ta requête MySQL
    while ($donnees = $resultat) {
    ...
    if (!isSet($_POST['nom_checkbox'.$id_produit])) {
    $coche[$id_produit] = 0; // La checkbox $id_produit n'est pas cochée.
    }
    else {
    $coche[$id_produit] = 1; // La checkbox $id_produit est cochée.
    }
    // Puis ta requête avec cette valeur :
    $requete = "UPDATE Table SET etatcheckbox='$coche[$id_produit]' where id='$id_produit'";
    }
    Ça n'est qu'un code tapé à la va-vite... Il faut ensuite, ajouter à cela, une condition dans cette boucle comme quoi si $coche[$id_produit] est déjà identique à la valeur de etatcheckbox -> il ne faut pas effectuer de requête. Ça permettra de minimiser le nombre de tes requêtes et n'en fera que si et seulement si il y a changement par rapport aux valeurs déjà enregistrées.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Points : 73
    Points
    73
    Par défaut
    ok merci bcp je vais essayer cela

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/10/2013, 15h44
  2. Réponses: 1
    Dernier message: 18/04/2010, 08h20
  3. procédure pour gestion d'une liste box
    Par adeltimple dans le forum Langage
    Réponses: 4
    Dernier message: 16/04/2009, 18h03
  4. code pour gestion d'une bibliotheque
    Par le_gueux90 dans le forum C
    Réponses: 9
    Dernier message: 30/11/2005, 16h32
  5. Gestion d'une liste box
    Par norwy dans le forum Windows
    Réponses: 6
    Dernier message: 01/11/2005, 12h51

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