Designed by Maunakea !
34 en ligne
  Forum | Actu | Glossaire | Codes | Tips | Liens | Livres | Annuaire
 

 Recherche





   

Sélections multiples

Sélections multiples et Base de Données





Télécharger l'article au format PDF


1. Sélections multiples pour sortir plusieurs champs d'une BD

Avant de commencer :

  • L'option "multiple" de la balise <SELECT> permet à l'utilisateur de pouvoir sélectionner plusieurs options dans la liste.
  • La commande qui va nous servir en ASP : Request.Form.Item(x) où x est le numéro du champ du formulaire que l'on va vouloir ressortir.

    1ère page : On contruit une liste pour l'exemple, rien de plus simple :)

    <% SQL = "SELECT Id,Nom FROM Marques"
    RS.Open SQL,Conn,1,3 %>

    <form name="form1" method="post" action="mmB.asp" target="B">
       <table width="100%" border="0" cellspacing="5">
          <tr> 
             <td width="31%"> 
             <!-- on n'oublie pas d'allouer la possibilité de sélections multiples ! -->
                <select name="marques" size="15" multiple>
                   <% while not RS.EOF %>
                      <option value="<%=RS("Id")%>"><%=RS("Nom")%></option>
                      <% ' on ressort toutes les valeurs...
                      RS.movenext()
                   wend %>

                </select>
                <br>
                <input type="hidden" name="val" value="ok">
                <!-- on vérifie si on valide le formulaire -->
                <input type="submit" name="Submit2" value="  Voir la sélection  ">
             </td>
             <%RS.close %>
          </tr>
       </table>
    </form>


    2ème page : On affiche les résultats

    Quand on récupère des sélections multiples, les valeurs sont transmises à la page sous forme "marques=1&marques=2&marques=3&val=ok&submit=submit" ...
    - item(1) récupère donc les valeurs du champs "marques", un seul champ mais qui est retransmis pour chaque valeurs lors de sélections multiples
    - item(2) récupère donc la valeur du champs "val"
    - item(3) récupère donc la valeur du champs "submit" , le bouton :)

    <% If Request.form("val") = "ok" then %>
       Liste des modèles : <BR>
       <% SQL = "SELECT Nom FROM RMM where Id_Marques = "
    ' on construit la requête...
       For each item1 in Request.form.item(1)
    ' on boucle pour toutes les valeurs du champs "marques", donc les marques de voitures,
    ' item1 n'est qu'une variable, vous pouvez en changez le nom
          SQL = SQL & item1 & " OR Id_Marques = "
    ' à chaque passage, on ajoute une marque en plus dans la requête
       next
       SQL = left(SQL,len(SQL)-17)
    ' après le dernier passage, on vire le dernier " OR Id_Marques = ",
    ' on aurait pu s'en passer en faisant 2 boucles...
       RS.Open SQL,Conn,1,3 %>

       <select name="select2" size="10">
          <% while not RS.EOF
    ' on ouvre et on affiche tous les résultats
          %>

             <option><%=RS("Nom")%></option>
             <% RS.movenext()
          wend %>

       </select>
    <%else
    ' si on n'a pas encore validé le formulaire
    %>

       Choisissez une marque dans la partie gauche !
    <%end if %>



    2. Sélections multiples pour enregistrer plusieurs champs

  • le principe reste le même, la commande aussi, on utilise toujours une boucle avec Request.form.item(x)

  • j'utilise ici une table contenant 3 champs : Id, Id_Marchands (relié à une table Marchands) et Id_Produits (relié à une table Produits), qui lie un ou plusieurs Marchands à un ou plusieurs Produits, il est ensuite facile de ressortir le nom des Marchands d'après le produit choisi ou autre

    le script de l'exemple :
    <% SQL = "SELECT * FROM PM"
    RS.Open SQL,Conn,1,3 

    For each item2 in Request.form.item(2)
    ' on prend le 1er marchand et ainsi de suite...
       For each item1 in Request.form.item(1)
    ' on boucle pour tous les produits
          RS.addnew
          RS("Id_Marchands") = item2
          RS("Id_Produits") = item1
          RS.update
    ' on ajoute les champs
       next
    next 
    RS.close 
    %>


  • Ludo le 03/01/2003 (47 938 hits)
    Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
    • Visual Studio 2010
    • Office 2010
    • Expression Studio 3
    • SQL Server 2008
    • et d'autres...
    Au fil des news  
    PHP - Drupagora : 1ère edition
    Utiliser Reporting Services pour des NewsLetter - SQL Server Reporting Services et les NewsLetters
    Le moteur de rapport inclus dans Microsoft SQL Server permet de créer de nombreux rapports ...
    Changer la page d'erreur 401 SharePoint - La page d'erreur d'authentification SharePoint
    Avec l'authentification classique des sites SharePoint, l'erreur d'authentification est gérée par ...
    PHP - Graphique de l'angle du soleil en fonction du lieu
    PHP5 - Graphique de l'angle du soleil en fonction du lieu
    Adobe - Disponibilité d'Adobe Creative Suite 5.5
    Les Thèmes dans SharePoint 2010 - Gérer les thèmes dans SharePoint 2010
    SharePoint 2010 apporte de nombreuses modifications dont certaines dans le principe des thèmes.
    JavaScript - fonction qui affiche l'heure à travers javascript
    Installer SharePoint Foundation 2010 sur Windows 7 - Installer SP Foundation 2010 sur Windows Seven
    Lorsque l'on souhaite développer dans le monde SharePoint, il existe plusieurs solutions. La ...
    SharePoint et SQL Server 2008 R2 Report Server - Comment accéder à SharePoint depuis SSRS 2008 R2
    Depuis la première version, la solution de rapport proposée par Microsoft "SQL Server Reporting ...
    JS - Envoi d'un formulaire après chargement d'une image
    Divers - Bannir une ip dans le global asax
    Dreamweaver CS5 - Nouvelle version Dreamweaver CS5
    Déjà plus de 6 mois que le produit est sorti, il fallait bien que je vous en parle un peu. Je vous ...
    SharePoint Output Caching dans un site Intranet - Comment utiliser le cache dans un site Publishing
    Afin de permettre l'amélioration des performances de sa ferme MOSS utilisée pour le site portail ...
    Adobe - Adobe lance le Musée Adobe des Médias Numériques
    Adobe - Adobe lance HTML5 Pack pour Illustrator CS5
    PHP - Forum PHP 2010 : Le programme
    Magazines - Le numéro 133 de programmez est disponible
    Adobe - Adobe lance des applications Photoshop Express....
    PHP - Détermination de l'intersection entre 2 segments
    Magazines - Le N°132 de Programmez est disponible
    Les alertes dans SharePoint 2007 - Comment SharePoint 2007 gère les User Alerts
    Une des fonctionnalités de base de SharePoint, aussi bien dans Windows SharePoint Services (WSS) ...
    Adobe - Photoshop.com Mobile pour Android 1.2
    Adobe - Adobe dévoile une technologie de lecture.......
    PHP - Experts PHP : participez au Forum PHP 2010 !
    PHP - Fobec.com - Code source PHP & javascript
    Foliotage alphabétique - Lister sur la première lettre d'un champ
    Pour faire suite à l'article de JPierre sur la pagination alphabétique, voici, en ASP et en PHP, ...
    Dreamweaver CS4 + Php + Mysql - Pagination alphabétique
    Je vous propose la création d'une barre de navigation ou pagination alphabétique pour filtrer les ...
    Adobe - HTML5 dans Dreamweaver CS5
    VBScript - Déterminer si un chemin est absolu ou relatif
    VBScript - Lire/écrire un fichier texte
    Magazines - Le N°130 de Programmez est disponible
    Hebergement - Hébergement à prix libre
    Adobe - Adobe Creative Suite 5
    PHP - Calcul de la date de Pâques
    Magazines - Le N°128 de Programmez est disponible
    Magazines - Le N°127 de Programmez est disponible
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
    Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
    Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
    JavaScript - Ajouter une page dans vos favorites
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3b © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     TechNet Groupes Utilisateurs Microsoft ASP-magazine MVP DotNet Project