IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WebDev Discussion :

Comment enregistrer dans une base de données le nombre de clic d'un article sur webdev20


Sujet :

WebDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    étudiant en informatique 3
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : étudiant en informatique 3

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut Comment enregistrer dans une base de données le nombre de clic d'un article sur webdev20
    Bonsoir SVP j'ai deux problèmes sur webdev 20,

    1) j'aimerais avoir un code webdev qui va enregistrer dans une base de données le nombre de clic d'un article.

    Exemple de la table article:

    Id Titrearticle Nombredeclic
    1 football 3
    2 science 21
    3 étude 14

    2) j'aimerais avoir un code webdev qui va enregistrer dans une base de données la date de la dernière visite d'un utlisateur.
    NB : cet utilisateur se connecte avec un compte (Email et mot de passe)

    Merci pour votre attention

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Par défaut
    Bonjour,

    je suis sous WebDev19 mais ça doi être pareil pour le 20.

    1-
    Quand tu est sur le code de ton image tu as la partie "clic (onClick)", c'est ici qu'il faut que tu mette ton code.

    Pour le code d'ajout à ta table, tout dépend de ta Base de Donnée...
    Si c'est du HFSQL (il faut que ton champ soit de format entier):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Table.NomDuChamp = Table.NomDuChamp + 1 
    Hmodifie(Table)
    si c'est du MySQL ou autre, tu fait un update...


    2-
    Idem pour enregistrer une date, tout dépend de ta base de donnée.
    Lors de la connexion de ton utilisateur tu modifie le contenu du champ de ta base de donnée avec la date du jour.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    étudiant en informatique 3
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : étudiant en informatique 3

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut
    Salut niuniuk36,

    Les articles dont je souhaite compter le nombre de clic se trouvent dans un champ zone répétée et c'est du MYSQL que j'utilise.
    STP essaye encore de me donner la solution en détaillant pas à pas pour que je puisse bien comprendre ce qu'il faut faire.

    Quel code dois je mettre dans la partie "clic (onClick)"
    Quel code va incrémenter ma base de données au fur et à mesure.

    Merci d'avance


  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Par défaut
    Salut,

    je suis d'accord pour la zone répétée mais dans ta zone répétée tu as du mettre un champ "image cliquable" dans lequel tu affiche ton image.
    Si tu sélectionne ce champ Image et que tu fais F2 tu te retrouve sur le code qui sera exécuté lors du clique de cette image.

    C'est ici qu'il faut que tu fasse la mise à jour de la base de donnée, dans cette partie du code.
    Dans ce code il faut que tu récupère le nom de l'image ou tout du moins que tu sache sur quelle image tu es.
    Une fois que tu aura ça il faut que tu mette à jour ta base de donnée en faisant un update de ta table.

    Après je ne peut pas te donner le code à renseigner car chaque code est différent et le code que j'utilise ne correspondrais au code de ton site.
    Au pire montre nous une partie du code que tu à fais et on regardera ce qu'il ne va pas.

    Par contre ce qu'il me fait un peu peur c'est que tu me demande de te donner le code pour mettre à jour ta base de donnée. Donc ça sous entend que tu ne sais pas écrire une requête SQL, en l'occurrence un update.
    Si c'est le cas il faut que tu commence par apprendre les base du SQL (select, update, delete, insert) car on ne pourra pas faire la requête à ta place car on ne connait ta base de donnée.
    Si par contre tu connais les requête SQL alors regarde hexecuterequetesql

    Dans tous les cas il faut que tu nous montre ton code pour qu'on puisse voir ce qu'on peut modifier ou rajouter dedans.

    bon dev

  5. #5
    Futur Membre du Club
    Homme Profil pro
    étudiant en informatique 3
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : étudiant en informatique 3

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut
    Salut niuniuk36,
    et merci pour l'attention,

    En fait je connais les requêtes basiques du SQL, juste que je voulais avoir le code complet jusqu'à la base de données. C'est vrai que mon problème majeure est le code qui me permettra de compter le nombre de clics de mes liens dans le champ de ma zone répétée. C'est plutôt les liens qu'on devra compter car l'image de la zone répétée n'est pas cliquable.

    voici le code de ma zone répétée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    PROCEDURE Actualiser()
    ImageArticle est une chaîne
    ZoneRépétéeSupprimeTout(ZoneRépétéeArticle1)
    SI SQLConnecte(Server,DBUser,DBPsw,Database,"MySQL") <> 0 ALORS
    	SQLExec("SELECT DISTINCT article.IDArticle, article.TitreArticle, article.IDImageArticle FROM article, categoriearticle WHERE article.IDArticle = categoriearticle.IDArticle AND categoriearticle.IDCategorie = 2 AND article.EstActif  = 1 ORDER BY categoriearticle.Rang ASC, article.IDArticle DESC LIMIT 4", "REQ1")	
    	TANTQUE SQLAvance("REQ1") = 0
    		ImageArticle = ""
    		SQLExec("SELECT ContenuMedia FROM media WHERE IDMedia = "+SQLLitCol("REQ1", 3)+"", "REQ2")
    		TANTQUE SQLAvance("REQ2") = 0		
    			ImageArticle = ComplèteRep(RepImages) + SQLLitCol("REQ2", 1)					
    		FIN
    		SQLFerme("REQ2")
     
    		ZoneRépétéeAjouteLigne(ZoneRépétéeArticle1,UTF8VersChaîne(SQLLitCol("REQ1", 2)),ImageArticle,SQLLitCol("REQ1", 1))
    	FIN
    	SQLFerme("REQ1")			
    FIN
    SQLDéconnecte()
    voici le code du lien de la zone répétée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PageAffiche(PageArticle,ZoneRépétéeArticle1.Attribut3,Faux)
    Merci

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Par défaut
    Salut,

    il te suffit de rajouter les requêtes avant de faire le page affiche dans le code de ton lien.

    En gros ça donnerais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    nCpt est un entier
     
    SI SQLConnecte(Server,DBUser,DBPsw,Database,"MySQL") <> 0 ALORS
    	Si SQLExec("select MonChampCompteur from MaTable where NomDuChamp = NomDuLien", "REQ1")	 ALORS  // Ici tu va chercher la valeur actuelle du compteur correspondant au lien sur lequel tu as cliqué
    		nCpt = SQLLitCol("REQ1", 1)    //Tu enregistre cette valeur dans une variable
    		SQLFerme("REQ1")
     
    		nCpt++  // tu incrémente ta variable
     
    		SI SQLExec("Update MaTable set MonChampCompteur = " + nCpt + " where NomDuChamp = NomDuLien", "REQ2") ALORS  //Ici tu met à jour ton compteur dans ta base de donnée avec la valeur incrémentée
    			Info("Update du compteur à " + nCpt)
    			SQLFerme("REQ2")
    		SINON
    			erreur("L'update n'a pas fonctionné")
    		FIN
    	SINON
    		erreur("Le select n'a pas fonctionné")
    	FIN
     
    	SQLDéconnecte()
    SINON
    	erreur("La connexion à la BDD à échoué")
    FIN
     
    PageAffiche(PageArticle,ZoneRépétéeArticle1.Attribut3,Faux)
    Il te faut faire pareil pour enregistrer la date lorsque l'utilisateur se connecte

    Autre chose, pour tes deux requêtes qui complète ta ZoneRépétée tu peux, je pense, n'en faire qu'une seule.
    En faissant une jointure externe sur la table media avec IDmedia = IDImageArticle
    Ca peut être un gain de temps car tu ne fais plus qu'une requête donc un seul accès à la base.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT DISTINCT article.IDArticle, article.TitreArticle, article.IDImageArticle, ContenuMedia 
    FROM article, categoriearticle, media 
    WHERE article.IDArticle = categoriearticle.IDArticle 
    AND categoriearticle.IDCategorie = 2 
    AND article.EstActif = 1
    AND IDMedia(+) = article.IDImageArticle
    ORDER BY categoriearticle.Rang ASC, article.IDArticle DESC 
    LIMIT 4

    Bon dev

Discussions similaires

  1. MàJ/ajout d'un enregistrement dans une base de données mySQL
    Par BMT_Benoît dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/08/2007, 08h02
  2. Réponses: 10
    Dernier message: 17/03/2007, 14h05
  3. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  4. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  5. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo