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 :

[Conception] Sélection en cascade


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut [Conception] Sélection en cascade
    Bonjour à tous,

    je suis en train de développer une base de données MySQL avec tout le jeu d'interface (PHP) qui va avec pour intéragir avec et je suis confronter à un petit problème au niveau de la suppression d'enregistrements. En effet ma base pourra contenir environ 500 enregistrements par an ( c'est peut etre pas beaucoup pour vous mais pour moi ca veut dire beaucoup.... ). Donc ce que j'aimerais faire c'est choisir un theme dans un premier menu déroulant puis ensuite qu'il n'y ait plus que les enregistrements concernés dans le second menu déroulant et enfin avoir juste une (environ) une dizaine de choix de titre d'enregistrement dans le dernier. Ainsi la recherche de l'élément à supprimer serait plus efficace et surtout moins fastidieuse.

    Pour le moment je sais juste comment faire pour chosir dans un champs puis supprimer l'enregistrement trouver mais avec seulement 20 titre on retrouve encore celui qu'on veut supprimer mais déja avec 500, on peut perdre 5 minute.

    Mon schéma de suppresion serait le suivant:

    Choix du theme -> choix de l'année -> choix du mois -> sélection du titre
    Pourriez vous me guider?

    merci d'avance

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par benoitinfrance
    Pour le moment je sais juste comment faire pour chosir dans un champs puis supprimer l'enregistrement trouver mais avec seulement 20 titre on retrouve encore celui qu'on veut supprimer mais déja avec 500, on peut perdre 5 minute.

    Mon schéma de suppresion serait le suivant:
    Ca doit pas être bien sorcier mais perso j'ai rien compris au problème... C'est quoi que tu appelles les "titres" ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    salut,

    si j'ai bien compris ce que tu souhaites faire : tu voudrais que tes listes déroulantes soient liées entre elles, pour que le choix fait dans l'une change le contenu de l'autre.
    si tu veux le faire sur une meme page, donc à la volée, il n'y a que le javascript qui puisse t'aider. j'ai vu une entre dans la FAQ javascript à ce sujet, c'est le dans le paragraphe 8.1.2.
    http://javascript.developpez.com/faq...js#listesLiees

    sinon en php sur plusieurs pages différentes, en basant tes listes déroulantes sur des requetes vers ta base de données...

    bonne journée

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    salut jérome en crise..

    tu as tout fait bien compris mon pb. Je vais aller voir ton lien meme si je ne maitrise pas le javascript. sinon si je veux le faire en PHP faut que je le fasse sur plusieur page c'est ça?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    je viens de lire le script présent sur ton lien. c'est très intéressant mais je voudrais que les menu déroulant soit rempli dynamiquement. c'est à dire que les themes du premier menu déroulant correspondent aux themes de mes enregistrements. Par exemple, j'ai dix theme au choix (pour insérer un enregistrements) mais l'utilisateur ne s'en est servi que de huit. j'aimerais alors que le premier menu déroulant n'affiche que ces 8 themes. De meme pour les autres menu déroulant.

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    meme si je ne maitrise pas le javascript.
    moi non plus
    en php, mais arretez moi si je dis une betise, je ne vois qu'une solution.
    sur la premiere page ta premiere liste déroulante, un bouton submit qui t'envoie vers la seconde page, methode post.
    sur la seconde page tu récupère sa valeur, et tu crées la seconde liste basée sur une requete du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT titres FROM table WHERE themes = $_POST["listedéroulante1"]
    pour creer la liste tu peut faire une boucle, à chaque itération tu rajoute une entree de la table à partir de ta requete
    ta seconde page pourrait ressembler à ça :

    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
     
    <body>
    <form action="test.php" method="post">
    <select id="titres" name="titres" size=1>
    <?php
    //connection au serveur localhost, à la base ******
    require("connect.php");
    $query="select titre from table where themes=$_POST[listederoulant1]";
    $result=mysql_query($query) or die ("erreur de requete").mysql_error();
     
    while ($val=mysql_fetch_array($result))
    {$num=$val["id_titre"];
    $titre=$val["nom_organisme"];
    echo "<option value=$num>$titre</option>";
    }
    mysql_close($link)
    ?>
    </select>
    <input type="submit" value="envoyer">
    </form>
     
    </body>
    [edit]je n'avais pas vu ta réponse, la je ne comprends pas bien ce que tu veu faire...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    je n'avais pas vu ta réponse, la je ne comprends pas bien ce que tu veu faire...
    Meme si tu ne comprend pas ce que je veux faire tu y répond parfaitement. Je vais me lancer en utlisant une page par liste déroulante.

    merci de tes conseils.

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    En full PHP avec un bouton Submit tu peux aussi rester sur la même page.

    Le user a la première liste, il sélectionne un item, il valide et les autres listes se mettent à jour.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    bonjour JWhite,

    Tu m'intéresse à nouveau , pourrais tu me filer un peu plus de détail stp. car avec mon niveau ( enfin tu connais).

    par contre j'ai toujours autant de persévèrance

    merci

  10. #10
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par benoitinfrance
    bonjour JWhite,

    Tu m'intéresse à nouveau , pourrais tu me filer un peu plus de détail stp. car avec mon niveau ( enfin tu connais).

    par contre j'ai toujours autant de persévèrance

    merci
    Si tu veux rester en full PHP, l'idée comme je l'ai dit c'est d'avoir un bouton pour valider chaque sélection dans les listes déroulantes. Chaque liste est dans un formulaire, la validation de ces formulaires renvoie sur la page en cours. Et dans ta page avec les listes il faut jouer avec les valeurs des listes pour afficher les bonnes sélections (SELECTED) pour chacune d'entre elles.
    C'est bien parce que tu évites d'utiliser JS, mais sur un plan ergonomique la solution JS / Ajax est la meilleure.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  11. #11
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut
    Bonjour,

    Avec un bout d'Ajax c'est possible aussi :
    http://siddh.developpez.com/articles/ajax/

    Histoire d'être à la mode

    Cordialement,
    Mathieu
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    donc je me suis lancer dans le Full PHP à l'intérieur d'une seule page mais je ne comprend pas pourquoi quand je clique sur le bouton sélectionner le support en ayant choisit "autres", il me remet sur celui par défaut "journal". Ce qui fait que je ne peut pas sélectionner les autres choix des menu déroulant.

    voici mon code:

    <?php
    do {
    ?>

    <option value="<?php echo $row_rsSupprimLettre['CL_support']?>"<?php if (!(strcmp($row_rsSupprimLettre['CL_support'], $row_rsSupprimLettre['CL_support']))) {echo "SELECTED";} ?>><?php echo $row_rsSupprimLettre['CL_support']?>
    </option>

    <?php
    } while ($row_rsSupprimLettre = mysql_fetch_assoc($rsSupprimLettre));
    $rows = mysql_num_rows($rsSupprimLettre);
    if($rows > 0) {
    mysql_data_seek($rsSupprimLettre, 0);
    $row_rsSupprimLettre = mysql_fetch_assoc($rsSupprimLettre);
    }
    ?>
    je sais que c'est un peu ( oki très) horrible mais est ce que vous voyez ce qui cloche.

  13. #13
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est coton de voir quelque chose et de débugger en mélangeant comme ça les portions PHP et HTML, je te conseilles vivement de passer ces portions en PHP et en utilisant le "echo".
    J'ai pas regardé en détail mais il manque peut-être un espace avant SELECTED.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    salut

    En fait je n'ai plus a développer se module car dans la société ou je suis il pense qu'ils n'en auront pas l'utilité.

    Merci de votre aide tout de meme.

Discussions similaires

  1. [Vxi3] Invites en cascade et sélection multiniveaux
    Par titiabo dans le forum Designer
    Réponses: 1
    Dernier message: 18/02/2009, 13h56
  2. SWT Menus en cascade et sélection des MenuItem
    Par Cluster37 dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 12/11/2008, 09h09
  3. Réponses: 2
    Dernier message: 28/04/2007, 15h31
  4. [Conception] Sélection de données très spéciale
    Par minik_mal dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/02/2007, 10h28
  5. [conception] Requête de sélection problèmes de relations
    Par snoopy69 dans le forum Modélisation
    Réponses: 26
    Dernier message: 08/11/2005, 14h23

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