|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
Bonjour à tous
J'ai un souci que je n'arrive pas à traiter. J'ai créé un filtre sur un formulaire pour sélectionner certaines lignes d'un tableau. Par exemple, j'ai une liste de commerciaux, je peux en sélectionner plusieurs, quand j'envoie le formulaire, je voudrais que mon tableau m'affiche les clients gérés par les commerciaux sélectionnés. Lors de l'envoi du formulaire, l'URL a cette forme : monfichier.asp?commercial=commercial1&commercial=commercial2&... mais quand il y a plusieurs paramètres (comme commercial ici), je ne sais pas comment les récupérer pour ensuite faire ma requête sur ma base de données du type Code :
Dans l'espoir que vous puissiez m'aider |
||
|
|
00
|
|
|
#2 | ||
|
Membre confirmé
![]() |
Tu passes des noms en toutes lettres ? ça serait plus simple avec les indetifiants des commerciaux (si tu les gères...)
a moins que tu ne paramètres l'envoi en manuel, le post de commercial devrait être plutôt automatiquement en tableau, c'est à dire que sur ta page de traitement asp, tu vas avoir soit: commercial = 1 (cas où 1 seul est selectionné) commercial = 1, 2 (cas où plusieurs sont sélectionnés) Du coup, tu peux faire une recherche directement comme suit : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
Merci de ta réponse si rapide
je vais creuser dans cette direction, mais si je passe les id des commerciaux, l'URL sera toujours la même non ? |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() |
j'imagine que ta page de sélection est composée de checkbox avec en valeur les id de chaque commerciaux. Si tu coche la case avec id 1, du coup ton url ne change pas, c'est le request.form("commercial") qui sera égal à 1 (ou à 1, 2, 3 si tu aen as checké plusieurs).
Ton url dans ton form sera egale "[nom de ta page cible].asp" Est ce que ça répond à ta question ? |
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
Non, en fait c'est un input de type select. Après on peut choisir 1 ou plusieurs commerciaux. Le choix se fait sur un champ qui s'appelle UserId, soit 2 lettres qui forment les initiales des commerciaux.
Le formulaire pointe vers la même page et les valeurs de l'URL que je récupère servent dans le where de ma requête SQL pour peupler mon tableau de clients |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() |
Le comportement est le même que se soit pour un select multiple ou des checkbox.
Par contre, tu n'as pas intéret à avoir 2 commerciaux avec les même premières lettres... d'où l'intérêt de prendre plutôt leur id numérique... Quand tu parles du champ UserId, c'est le nom de ton objet select ou le nom de ton champ dans la base ? |
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
c'est le nom de l'attribut dans la base
et j'ai un recordset qui parcourt cette table et un response.write rs("UserId") qui va servir de texte dans les balises option de mon select Je ne pense pas que ta solutions avec l'ID fonctionnera dans mon cas, sachant que j'utilise une base de données créées à la base par un ERP, et moi je développe une application complémentaire utilisant des infos de cette base. Dans ma table, j'ai - un champs ID de la forme CO0001, - un champs UserID de la forme AB, - un champs UniqueID avec plus de 30 caractères à chaque fois après j'ai le nom et prénom etc Sinon, les premières lettres de chaque UserId sont toutes différentes |
|
|
00
|
|
|
#8 | ||||
![]() ![]() |
Salut,
Pourquoi trois champs juste pour identifier un commercial ? A la limite deux pourquoi pas, en cas d'homonymie. Un simple id en auto-increment clé primaire, suffit. Pas de risque de doublon et du coup chaque commerciaux se retrouve avec son id. Dans ta liste de déroulante tu mets la valeur de l'id en value et c'est tout. Ce qui te donnerait dans ton formulaire : Code asp :
puis : Code asp :
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours FAQ ASP |
||||
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
J'utilise une base de données générée par un ERP comme je l'ai dit, donc pas le choix
merci pour ta solution, je verrai lundi avec ça, j'étais parti dans la bonne direction avec les values des balises option J'ai une idée pour la suite, ça devrait être bon merci vous deux |
|
|
00
|
|
|
#10 | |
![]() ![]() |
Citation:
Bon courage
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours FAQ ASP |
|
|
|
00
|
|
|
#11 | |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
Bonjour à tous
Bon j'ai testé plusieurs choses, mais je n'arrive toujours pas à ce que je veux. Je comprends bien vos solutions, mais c'est pas ce que je veux. En fait, les valeurs que je récupère dans mon URL doivent servir de valeur de paramètre d'une requête SQL sur ma base. En fait j'ajoute ces valeurs à une chaine de caractère. Code :
strSQL=strSQL&"and customer.colleagueID=colleague.Id and colleague.userId in ('"& ... & "')" Citation:
Code :
strSQL=strSQL&"and customer.colleagueID=colleague.Id and colleague.userId in ('"& request.form("commercial") & "')" Code :
and customer.colleagueID=colleague.Id and colleague.userId in ('AB,ZZ') Code :
and customer.colleagueID=colleague.Id and colleague.userId in ('AB','ZZ') bon en fait la méthode de la FAQ fonctionne bien (j'ai commencé ma boucle à 0 et non à 1 pour parcourir mes commercial du coup j'arrive à avoir ma chaine 'AA','ZZ','EE' comme je le souhaitais merci à vous pour votre précieuse aide |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com