Modifier une bd à partir d'un menu déroulant à choix multiples avec des champs pré-cochés

Contenu du snippet

ce code sert par exmple à une interface utilisateur ou membre, l'utilisateur serait dans une section membre at aurait la possibilité de modifier une liste déroulante à choix multiples, le problème est que si l'utilisateur veut valider la page il est obligé de se souvenir de ce qu'il avait coché avant. donc, voilà la solution au pb :
1) on va cherhcer les champs ds la base
2) on construit la liste déroulante
3) on fait une vérif avec InStr
4) l'utilisateur valide ses modifications (s'il en a fait)

s'il n'en fait aps il perd pas ses données avec un menu déroulant vide !

Source / Exemple :


<%
' ce code permet de modifier une liste déroulante ou menu déroulant à choix multiples
' sur des informations uissues d'une BD

' en voici un exmple concret

' ce code permet ainsi de mettre en surbrillance les champs sélectionnés aupréalable par un utilisateur lambda et lorsqu'il choisira de modifier la table et donc le menu, ce qu'il a coché lors d'une précédente utilisation sera déjà coché.

reference= request("reference")

Set connection = Server.CreateObject("ADODB.Connection")
connstring="bd_odbc" 'a changer bien sur !
connection.Open connstring

sql= "SELECT * from tables where reference like '"& reference &"'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
%> 

<body...>

<select name="select" size="5" multiple>
                            <option value="Bar/Tabacs" <%if InStr(1,rs.fields("commerces"), "Bar/Tabacs",1) then response.write("selected")%>>Bar/Tabacs</option>
                            <option value="Epicerie" <%if InStr(1,rs.fields("commerces"), "Epicerie",1) then response.write("selected")%>>Epicerie</option>
                            <option value="Supermarché" <%if InStr(1,rs.fields("commerces"), "Supermarché",1) then response.write("selected")%>>Supermarché</option>
                            <option value="Produits frais" <%if InStr(1,rs.fields("commerces"), "Produits frais",1) then response.write("selected")%>>Produits frais</option>
                            <option value="Souvenirs" <%if InStr(1,rs.fields("commerces"), "Souvenirs",1) then response.write("selected")%>>Souvenirs</option>
                            <option value="Galerie d'Art" <%if InStr(1,rs.fields("commerces"), "Galerie d'Art",1) then response.write("selected")%>>Galerie d'Art</option>
                            <option value="Marché fleurs" <%if InStr(1,rs.fields("commerces"), "Marché fleurs",1) then response.write("selected")%>>Marché fleurs</option>
                            <option value="Marché produits frais" <%if InStr(1,rs.fields("commerces"), "Marché produits frais",1) then response.write("selected")%>>Marché produits 
                            frais</option>
                            <option value="Marché divers" <%if InStr(1,rs.fields("commerces"), "Marché divers",1) then response.write("selected")%>>Marché divers</option>
                            <option value="Ferme/produits du terroir" <%if InStr(1,rs.fields("commerces"), "Ferme/produits du terroir",1) then response.write("selected")%>>Ferme/produits 
                            du terroir</option>
                          </select>

</body>

'il ne reste qu'à construire le formulaire autour de ce select qui envoie une page 'modification' --> UPDATE

Conclusion :


le code est un peu fait à l'arrach, j'imagine qu'on pourrait optimiser ça...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.