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

JavaScript Discussion :

Modifier une requete MySQL au changement d'une select box


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Par défaut Modifier une requete MySQL au changement d'une select box
    Bonjour à tous !

    Je viens vers vous car je bloque sur un problème....

    J'ai une liste de choix contenant des personnes (liste récupérée en bdd).
    En dessous, j'ai 5 check boxes correspondant aux 5 jours de la semaine.
    Chaque utilisateur peut avoir 0 ou plusieurs cases de coché (récupéré en bdd également).

    Maintenant j'aimerai que lorsque je sélectionne une personne cela change également ma requête en bdd (celle qui va remplir les check boxes) donc les cases qui sont cochées.

    Evidemment j'aimerai ne pas reloader la page !

    Merci de votre aide !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,
    Maintenant j'aimerai que lorsque je sélectionne une personne cela change également ma requête en bdd
    Tu veux dire lancer?
    Regarde du coté Ajax.

    A+.

  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
    Qu'est-ce que tu ne sais pas faire exactement ?

    1/ Récupérer la sélection sur la personne ?
    2/ Faire une requête ajax ?
    3/ Modifier une chaine de caractère (la requête) en fonction d'une variable ?
    4/ Exploiter le retour de la requête ajax pour l'affichage de tes checkbox ?

    Si c'est la numéro 3 comme semble le faire penser ton titre, poste plutôt dans le forum php/mysql

    Sinon il faut aborder successivement les quatre étapes.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Par défaut
    bon je vais essayer d'être plus clair

    j'ai un champ select qui fait une requête en bdd pour récupérer un liste de personne.
    en dessous, j'ai 5 check boxes (5 jours de la semaine).
    ces check boxes sont cochées (ou non) en fonction d'une requête en bdd portant sur la personne sélectionnée dans la liste de choix.

    en gros j'en suis là :

    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
    echo "<select name='eng_sel' style='margin-bottom:15px; onChange=onChange()'>";
    	$eng_usr = "SELECT * FROM cal_usr ORDER BY usr_nm ASC";
    	$eng_usr_r = mysql_query($eng_usr) or die(mysql_error());
    	while($eng_usr_rw = mysql_fetch_array($eng_usr_r)){
    		$eng_usr_id = $eng_usr_rw['usr_id'];
    		$eng_usr_nm = $eng_usr_rw['usr_nm'];
    		echo "<option value='$eng_usr_id'>$eng_usr_nm</option>";
    	}
    echo "</select>
    $eng_mon = "SELECT * FROM cal_eng WHERE eng_usr=$eng_usr_id AND eng_day=1";
    $eng_r_mon = mysql_query($eng_mon) or die(mysql_error());
    $eng_r_nb_mon=mysql_num_rows($eng_r_mon);
    if ($eng_r_nb_mon != 0){$checked = "checked";}else{$checked = "";}
    echo "Lu <input type='checkbox' id='lu_' $checked /> <input type='text' /><br/>";
     
    $eng_tue = "SELECT * FROM cal_eng WHERE eng_usr=$eng_usr_id AND eng_day=2";
    $eng_r_tue = mysql_query($eng_tue) or die(mysql_error());
    $eng_r_nb_tue=mysql_num_rows($eng_r_tue);
    if ($eng_r_nb_tue != 0){$checked = "checked";}else{$checked = "";}
    echo "Ma <input type='checkbox' id='ma_' $checked /> <input type='text' /><br/>";
    je ne met uniquement que 2 check boxes dans mon exemple, le problème est le même après...

    j'aimerai donc que lorsque on sélectionne une personne dans la liste de choix, cela change la variable $eng_usr_id utilisée dans le select des check boxes

    actuellement, logiquement vu mon code, sa valeur est toujours la dernière personne de la liste de choix.

    c'est plus clair ?

    merci en tout cas pour votre aide !

  5. #5
    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
    Déjà je comprends pas comment ta phrase
    Chaque utilisateur peut avoir 0 ou plusieurs cases de coché (récupéré en bdd également).
    peut être compatible avec ton code de récupération de l'état des checkbox si pour les récupérer tu fais successivement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $eng_mon = "SELECT * FROM cal_eng WHERE eng_usr=$eng_usr_id AND eng_day=1";
    $eng_tue = "SELECT * FROM cal_eng WHERE eng_usr=$eng_usr_id AND eng_day=2";
    ...
    le champ "eng_day" ne peut contenir qu'une valeur comprise entre 1 et 5 (si j'ai bien compris) donc de cette façon comment peux tu avoir plusieurs checkbox cochés ?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    la modification de la requête ne doit se faire que coté serveur ...
    à toi de passer les paramètres nécessaires a ton serveur afin de faire les modifs coté serveur
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. [AC-2003] Exécution d'une requete de regroupement puis d'une requete de mise à jour
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 13/03/2014, 11h16
  2. afficher les resultats d'une requete mysql sur 3 colonnes
    Par harlock59 dans le forum Requêtes
    Réponses: 7
    Dernier message: 24/12/2005, 14h38
  3. inscrire dans un javascript les résltats d'une requete Mysql
    Par nono3000 dans le forum Général JavaScript
    Réponses: 38
    Dernier message: 23/12/2005, 14h57
  4. Afficher une requete MYSQL avec jointure
    Par Higestromm dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/12/2005, 15h52
  5. résultat d'une requete mysql
    Par noinneh dans le forum MFC
    Réponses: 4
    Dernier message: 03/03/2005, 16h54

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