script en asp
6 messages
• Page 1 sur 1
- mahdivitche
- WRInaute impliqué

- Messages: 967
- Inscription: 6 Jan 2008
script en asp
bonjour
je besoin d'un script en asp qui permet de boucle sur les jour de l'annee
exemple :
for i=1 to 12 / pour les mois
for j=1 to 30 ( ou 28 ou 29 ou 30 ou 31) / pour les jour
n= j & "/" & i & "/2008"
next
next
alors le problme si dans le boucle for j ( si je met 30 alors mois 2 il ya 29 ..... )
comment faire pour resoudre se probleme ?
merci d'avance
je besoin d'un script en asp qui permet de boucle sur les jour de l'annee
exemple :
for i=1 to 12 / pour les mois
for j=1 to 30 ( ou 28 ou 29 ou 30 ou 31) / pour les jour
n= j & "/" & i & "/2008"
next
next
alors le problme si dans le boucle for j ( si je met 30 alors mois 2 il ya 29 ..... )
comment faire pour resoudre se probleme ?
merci d'avance
-

Marie-Aude - Modérateur

- Messages: 11173
- Inscription: 5 Juin 2006
POurquoi ne pas commencer au premier janvier et utiliser les dates directement avec un format ?
- mahdivitche
- WRInaute impliqué

- Messages: 967
- Inscription: 6 Jan 2008
merci pour votre reponse
mais moi je veut calculer le nombe des adresse ip visite mon site pour chaque mois pour cela je crée un tableau qui contient deux champ ( ip , date )
et je veut afficher le nombre de visie pour chaque mois
je fait le code suivant
dim n[12]
for i=1 to 12
for j=1 to 30 ( ici le probleme )
req="select count(ip) as nb ........... datee =" & j & "/" & i & "/2008"
rsc.execute req
n(i)=n(i)+rsc("nb")
next
next
merci d'avance
mais moi je veut calculer le nombe des adresse ip visite mon site pour chaque mois pour cela je crée un tableau qui contient deux champ ( ip , date )
et je veut afficher le nombre de visie pour chaque mois
je fait le code suivant
dim n[12]
for i=1 to 12
for j=1 to 30 ( ici le probleme )
req="select count(ip) as nb ........... datee =" & j & "/" & i & "/2008"
rsc.execute req
n(i)=n(i)+rsc("nb")
next
next
merci d'avance
-

SuperCureuil - WRInaute impliqué

- Messages: 664
- Inscription: 9 Mar 2007
Salut,
La date me semble facultative dans ce que tu veux faire, du moins si j'ai bien compris.
Comprends pas trop l'intérêt mais bon, ça fait travailler les neurones, c'est gai
De fait, tu crées une table id | ip (et éventuellement date)
Quand le visiteur arrive, tu récupères son ip, tu checkes ta table pour voir si cette ip s'y trouve déjà, si oui tu ne fais rien, sinon tu ajoutes avec un simple INSERT.
Ben tu récupères la date en cours et tu vérifies si le mois en cours est un mois en 28/29 ou 30 ou 31 jours, et avec une ou deux conditions, tu adaptes ton script d'après le résultat. C'est un peu cra cra comme soluce et je ne vois toujours pas l'intérêt.
Si tu veux simplement ajouter la date, y'a des fonctions dédiées pour ça, pourquoi vouloir commencer à jouer avec des boucles ?
La date me semble facultative dans ce que tu veux faire, du moins si j'ai bien compris.
je veut calculer le nombe des adresse ip visite mon site pour chaque mois
Comprends pas trop l'intérêt mais bon, ça fait travailler les neurones, c'est gai
De fait, tu crées une table id | ip (et éventuellement date)
Quand le visiteur arrive, tu récupères son ip, tu checkes ta table pour voir si cette ip s'y trouve déjà, si oui tu ne fais rien, sinon tu ajoutes avec un simple INSERT.
alors le problme si dans le boucle for j ( si je met 30 alors mois 2 il ya 29 ..... )
comment faire pour resoudre se probleme ?
Ben tu récupères la date en cours et tu vérifies si le mois en cours est un mois en 28/29 ou 30 ou 31 jours, et avec une ou deux conditions, tu adaptes ton script d'après le résultat. C'est un peu cra cra comme soluce et je ne vois toujours pas l'intérêt.
Si tu veux simplement ajouter la date, y'a des fonctions dédiées pour ça, pourquoi vouloir commencer à jouer avec des boucles ?
- mahdivitche
- WRInaute impliqué

- Messages: 967
- Inscription: 6 Jan 2008
merci SuperCureuil pour votre reponse :
la solution donc est :
la solution donc est :
- Code: Tout sélectionner
<%
annee=clng(Request.QueryString("annee"))
set cnx=server.createobject("adodb.connection")
connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "/ip.mdb"
cnx.open connstring
Dim nb(12)
for i=1 to 12
nb(i)=0
next
for i=1 to 12
Select Case (i)
'Avril, Juin, Septembre, Novembre
Case 4, 6, 9, 11
NbJourDansMois = 30
' Février
Case 2
' Si Divisible par 400 alors Bisextile
if (annee Mod 4 = 0) And (annee Mod 100 <> 0) Or (annee Mod 400 = 0) Then
NbJourDansMois = 29
Else
NbJourDansMois = 28
End if
' Les autres mois
Case Else
NbJourDansMois = 31
End Select
for j=1 to NbJourDansMois
req_sql="SELECT Count(ip) AS nbvi ,datee FROM visites GROUP BY datee HAVING(datee=# " & i & "/ " & j & "/ " & annee & "#)"
set rsc = cnx.execute(req_sql)
if not(rsc.EOF and rsc.BOF) then
nb(i)=nb(i)+rsc("nbvi")
end if
next
next
%>
<html>
<body>
<table border="2">
<tr>
<% for i=1 to 12 %>
<td> <%=i%> </td>
<% next %>
</tr>
<tr>
<% for i=1 to 12 %>
<td width="40"><%=nb(i)%></td>
<%next%>
</tr>
</table></body></html>
Si tu veux simplement ajouter la date, y'a des fonctions dédiées pour ça, pourquoi vouloir commencer à jouer avec des boucles ?
qu'elle les fonctions qui peut utilisée ?
y'a qu'il qu'un qui peut simplifie pour moi ce code ?
merci d'avance
- mahdivitche
- WRInaute impliqué

- Messages: 967
- Inscription: 6 Jan 2008
script en asp
merci SuperCureuil pour votre reponse :
la solution donc est :
Si tu veux simplement ajouter la date, y'a des fonctions dédiées pour ça, pourquoi vouloir commencer à jouer avec des boucles ?
qu'elle les fonctions qui peut utilisée ?
y'a qu'il qu'un qui peut simplifie pour moi ce code ?
merci d'avance
[/u]
la solution donc est :
- Code: Tout sélectionner
<%
annee=clng(Request.QueryString("annee"))
set cnx=server.createobject("adodb.connection")
connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "/ip.mdb"
cnx.open connstring
Dim nb(12)
for i=1 to 12
nb(i)=0
next
for i=1 to 12
Select Case (i)
'Avril, Juin, Septembre, Novembre
Case 4, 6, 9, 11
NbJourDansMois = 30
' Février
Case 2
' Si Divisible par 400 alors Bisextile
if (annee Mod 4 = 0) And (annee Mod 100 <> 0) Or (annee Mod 400 = 0) Then
NbJourDansMois = 29
Else
NbJourDansMois = 28
End if
' Les autres mois
Case Else
NbJourDansMois = 31
End Select
for j=1 to NbJourDansMois
req_sql="SELECT Count(ip) AS nbvi ,datee FROM visites GROUP BY datee HAVING(datee=# " & i & "/ " & j & "/ " & annee & "#)"
set rsc = cnx.execute(req_sql)
if not(rsc.EOF and rsc.BOF) then
nb(i)=nb(i)+rsc("nbvi")
end if
next
next
%>
<html>
<body>
<table border="2">
<tr>
<% for i=1 to 12 %>
<td> <%=i%> </td>
<% next %>
</tr>
<tr>
<% for i=1 to 12 %>
<td width="40"><%=nb(i)%></td>
<%next%>
</tr>
</table></body></html>
Si tu veux simplement ajouter la date, y'a des fonctions dédiées pour ça, pourquoi vouloir commencer à jouer avec des boucles ?
qu'elle les fonctions qui peut utilisée ?
y'a qu'il qu'un qui peut simplifie pour moi ce code ?
merci d'avance
[/u]
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- Google Chrome dépasse Safari aux USA - 29-06-2010
- Aperçu des différents types de redirection - 04-08-2008
- Photos satellite des incendies en Grèce dans Google Earth - 30-08-2007
- Ajouter un Gadget Google sur son site - 04-10-2006
- Google Desktop pour Mac OS X - 05-04-2007
- Picasa Web Albums en français - 08-12-2006
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits - 28-03-2007
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
