Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2008, 23h12   #1
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Par défaut Problème avec IsNumeric

Bonsoir à tous,

j'ai réaliser une page qui permet à l'utilisateur de faire un recherche.
Je test le premier champ que l'utilisateur à saisi, pour savoir si c'est de type numèrique ou pas. Et le problème c'est quand je fait ce test, ça fonctionne pas, j'ai meme pas un message d'erreur.
Voici le code :

Formulaire qui permet à l'utilisateur d'effectuer la recherche
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<form name="Form_recherche"  action="traitement_recherche.asp" method="post" >
 
	<table>
 
		<tr>
			<td>Nom, Email ou numèro de la personne:</td>   
			<td><input type="text" name="txtPersonne"></td>
		</tr>
		<tr>
			<td>Nom ou numèro du médecin</td>   
			<td><input type="text" name="TxtMedecin"></td>
		</tr>
 
	</table>  
 <input type="Submit" value="Rechercher">
 </form>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
 
 
<%
'Récupère mes données saisi par l'utilisateur
id_user = Request.Form("txtPersonne")
nom_user = Request.Form("TxtMedecin") 
 
 
 
'connexion à la base de donnée
dbPath = Server.MapPath("base/mabase.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&" DBQ="&dbPath
 
if (Isnumeric(id_user))=true then
  sql = "Select *  FROM matable WHERE id_pers=" & id_user & "
else
 
 sql = "SELECT * FROM matable Where nom="& id_user & " OR  Email='"  &   id_user & "'"
end if
Set RS = server.createobject("ADODB.Recordset")
RS.Open sql,Conn , 3, 3
 
 
 
	'On affiche le résultat dans un tableau%>
	<table>
	<%
	do while not RS.eof
	%>
 
 
	<tr>
		<td>#</td>
		<td><%=RS("id")%></td>
	</tr>
	<tr>
		<td>Prénom</td>
		<td><%=RS("Prenom")%></td>
	</tr>
	<tr>
		<td>Nom </td>
		<td><%=RS("Nom")%></td>
	</tr>
	<tr>
		<td>Email </td>
		<td><%=RS("Email")%></td>
	</tr>
		<tr>
		<td>Date Naissance</td>
		<td><%=RS("Date")%></td>
	</tr>
 
	<%
	RS.movenext
	loop
	RS.close
	%>
	</table>
Merci d'avance pour votre aide.
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 21h45   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 857
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 857
Points : 5 975
Points : 5 975
Salut,

Si c'est bien ton code
Code :
1
2
3
if (Isnumeric(id_user))=true then
  sql = "Select *  FROM matable WHERE id_pers=" & id_user & "
else
Alors il y a une erreur là:
Code :
"...ERE id_pers=" & id_user & "
Tu laisses des guillemets ouverts. Il faut:
Code :
"...ERE id_pers= " & id_user
Sinon
Code :
if Isnumeric(id_user) then
devrait suffire.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 21h13   #3
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 248
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 248
Points : 1 205
Points : 1 205
Envoyer un message via MSN à kaiser59
Salut,

Alors pour commencer, petite astuces pour toi et pour les autres qui débuterais qd tu mets ton code dans ton post entouré des balises code bien sûr, regarde bien tu verras que la couleur change étrangement, notamment au niveau du else (qui est rouge au lieu d'être bleu) et avant ta requête les couleurs sont bien placé. De ce fait, tu peux remarqué qu'il doit y avoir une erreur de syntaxe dans ta requête donc.

Ce n'est pas fiable à 100% mais sa peut servir.

Ensuite tu as, pour la syntaxe de ta requête la solution de Immobilis ou alors simplement de mettre "" à la fin de ta requête dans ton cas.

En ce qui concerne ton IsNumeric, toutes valeurs retourner par un formulaire est de type texte donc, ta variable id est au format texte.
Pour ma part je ne sais pas si le fait de mettre IsNumeric permet de faire la distinction. Mais pour être sûr d'avoir une valeur numérique il te suffit de faire ceci :

Code asp :
1
2
id= request.form("var")
cint(id)
__________________
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
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h57.


 
 
 
 
Partenaires

Hébergement Web