script en asp

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


mahdivitche
WRInaute passionné
WRInaute passionné
 
Messages: 902
Inscription: Dim Jan 06, 2008 0:33

script en asp

Message le Sam Mai 17, 2008 20:27

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


Marie-Aude
WRInaute accro
WRInaute accro
 
Messages: 4938
Inscription: Lun Juin 05, 2006 14:15

Message le Sam Mai 17, 2008 21:17

POurquoi ne pas commencer au premier janvier et utiliser les dates directement avec un format ?


mahdivitche
WRInaute passionné
WRInaute passionné
 
Messages: 902
Inscription: Dim Jan 06, 2008 0:33

Message le Sam Mai 17, 2008 21:30

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


SuperCureuil
WRInaute passionné
WRInaute passionné
 
Messages: 662
Inscription: Ven Mar 09, 2007 9:44

Message le Dim Mai 18, 2008 11:41

Salut,

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 :D

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 passionné
WRInaute passionné
 
Messages: 902
Inscription: Dim Jan 06, 2008 0:33

Message le Lun Mai 19, 2008 17:26

merci SuperCureuil pour votre reponse :

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 passionné
WRInaute passionné
 
Messages: 902
Inscription: Dim Jan 06, 2008 0:33

script en asp

Message le Lun Mai 19, 2008 17:29

merci SuperCureuil pour votre reponse :

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]


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités