Listes et bases de données... [Résolu]

Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
- - Dernière réponse : Chris_LaFouine
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
- 18 févr. 2005 à 11:48
Dans ma base de données, j'ai une table qui s'appelle Tarif voilà la structure :
QF : Clef Primaire
TarifNiort
TarifHorsNiort
Le QF va de 1 à 9, il représente un indice auquel est attribué des tarif... ce QF est calculé par l'utilisateur en fonction de son revenu...

Dans la page ASP que je dois faire, j'ai une SelectBox que j'ai nommé "cboQF" avec les différents QF (allant de 1 à 9), jusque là tout va bien. J'ai aussi une SelectBox que j'ai nommé "cboListeVilles" qui comprend une liste de villes.
Juste en dessous de "cboQF", j'ai une zone de texte que j'ai nommé "txtTarif" qui est destiné à recevoir le tarif correspondant au QF.
Si la ville choisie dans "cboListeVilles" est "NIORT", alors j'applique le TarifNiort, sinon, j'applique le Tarif HorsNiort.

Maintenant que vous avez bien compris, je vais vous exposer mon véritable probleme.
je voudrais que à chaque changement de QF dans la "cboQF", on mette à jour automatiquement le tarif sans avoir à recharger la page. sachant qu'on peut aussi changer entre temps la ville, dans ce cas, il faut aussi mettre à jour le tarif!

J'avais pensé à mettre un Javascript qui, en fonction du QF et de la ville, recherche la valeur dans la table Tarif et mette à jour mon "txtTarif". Mais cette recherche dans la base, je la fais en ASP et dès que je lance ma page, ça plante! Une autre solution est de faire la recherche dans la base directement en JavaScript, mais le problème c'est que c'est imprimé en dur dans le code source du client, ce qui est un gros problème de sécurité!

Si vous avez d'autres solutions... je suis preneur!
Merci d'avance
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
3
Merci
Ça y est, je me suis débloqué tout seul... j'ai trouvé une feinte de fouine pour remplir ce champ sans recharger la page... voilà le code... si ça peut donner des idées à des gens!

Dans le programme principal :
<select size="1" name="cboQF" onChange="calculQF()">
<%Dim i
For i=1 to 9
Response.write("<option value="&i&">"&i&"</option>&vbcrlf)
Next
%>
</select>

Le Code Javascript de la fonction calculQF()
window.open("recherche_QF.asp?qf="+document.personne_ajout_form.cboQF.value+"&ville="+document.personne_ajout_form.cboVille.value)

Et le contenu de la page rechercheQF.asp :
<% 'Récupération des valeurs
Dim fQF
Dim fTarif

fTarif=0
fQF=Request.QueryString("qf")

If fQF<>"0" then
If Request.QueryString("ville")="191" Then
Call recSelect(rsTarif,"select to_char(TAR_NIORT) from GIMS_TARIF where TAR_CODEORG='SC' and TAR_QF="&fQF)
Else
Call recSelect(rsTarif,"select to_char(TAR_HNIORT) from GIMS_TARIF where TAR_CODEORG='SC' and TAR_QF="&fQF)
End If
fTarif=rsTarif(0)

rsTarif.close
set rsTarif=Nothing
End If

%><% Dim fQF
Dim fTarif
fQF=Request.QueryString("qf")

IF Request.QueryString("Ville")="NIORT" THEN
'Requete de sélection du tarif de Niort dans la table Tarif
'...affecté dans la variable RecordSet "rsQuery"
ELSE
'Requete de sélection du tarif Hors Niort dans la table Tarif
'...affecté dans la variable RecordSet "rsQuery"
END IF
fTarif=rsQuery(0)
rsQuery.close
set rsQuery=Nothing
%>

<html>
onLoad="window.opener.document.forms['personne_ajout_form'].elements['txtMontant'].value='<%=fTarif%> €';self.close()">

</html>

Voila, j'espere que ça va servir!!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Chris_LaFouine