PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 17-04-2010 11:25:52

mdpubs
Membre
Inscription : 17-04-2010
Messages : 12

Remettre à 0, les stats d'un username

Bonjour,

Voilà je voudrai vider un ID (en fait username), dans une table de statistiques, pour que lors de l'inscription d'un nouvel utilisateur (ID-Username), les anciennes données de statistiques soient remise à zéro. L'idée c'est une personne qui remplace une autre personne existante dans la table. Il y a 2 table différentes. La première table contient les données de la personne (nom, adresse, url, e-mail...) et la deuxième table contient des statistiques de visites correspondantes. Pour la première table, remplacer l'utilisateur par un autre, c'est ok... Il me manque juste le code PHP pour remettre à zéro les compteurs dans l'utre table correspondante à l'utilisateur.

Partons de cette commande :

if(isset($_GET['username'])){
$username=mysql_real_escape_string($_GET['username'],$mysql_link);
$sql = "SELECT username,day,weekly,month FROM table_stats WHERE username='".$_GET['username']."'";

Un lien mène à cette page du style : blabla.php?username=bidule

Je ne veux pas afficher dans le formulaire les stats day, weekly, month..., mais simplement par le formulaire remettre à zéro toutes les infos de stats donc du jour, semaine et mois (day, weekly, month).

Alors l'idée, c'est que mon username est en fait un sponsor. Ce sponsor va etre remplacer par un autre sponsor. Le premier aura généré X visites. Quand le deuxième sponsor se met à la place du premier sponsor, les infos du premier sont modifiées par un UPDATE et ce que je veux, c'est que les stats de ce premier sponsor (dans une autre table) soient remises à zéro..., sans toucher aux autres stats des autres sponsors... en fait, les stats vont redémarrer avec ce deuxième sponsor.

Je pourrai faire un UPDATE, mais vu que si les infos du sponsor nom, adresse, etc.. sont visibles sur le formulaire d'UPDATE, les stats elles, n'y sont pas, car elles prendraient trop de place dans le formulaire. Et l'idée, c'est que quand le sponsor clic sur modifier les infos, l'UPDATE des info sur la première table se mette à jour et qu'en même temps, les stats (dans l'autre tables) se remette à zéro.


Je suis pas un pro de PHP, juste je bidouille un peu ;o)

Si vous avez la solution, merci )
Mdpubs

Dernière modification par mdpubs (17-04-2010 11:30:09)

Hors ligne

#2 17-04-2010 11:27:55

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Remettre à 0, les stats d'un username

delete from tonautretable where id_util = id_encou

a++

Hors ligne

#3 17-04-2010 11:32:27

mdpubs
Membre
Inscription : 17-04-2010
Messages : 12

Re : Remettre à 0, les stats d'un username

Bonjour Pierrot

Attention, il ne s'agit pas de détruire les stats de l'username, mais de les remettre à zéro.

Maintenant, peut-être que de supprimer remet simplement à zéro ?

Hors ligne

#4 17-04-2010 12:11:53

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Remettre à 0, les stats d'un username

>>Maintenant, peut-être que de supprimer remet simplement à zéro ?

bah oui wink

a++

Hors ligne

#5 17-04-2010 12:27:16

mdpubs
Membre
Inscription : 17-04-2010
Messages : 12

Re : Remettre à 0, les stats d'un username

En fait voici la commande que je viens juste de trouver et qui va bien, si ça peut aider d'autres personnes....

Le DELETE supprime aussi l'username, alors que dans mon besoin l'username ne doit pas être supprimé.

Donc la bonne commande est celle-ci :
$sql = "UPDATE table_stats SET day='', weekly='', month='' WHERE username='".$_GET['username']."'";


Cela remet à zéro sans toucher à l'username...

Mais merci Pierrot, car c'est ton idée qui m'a amené à la solution wink.

C'est précieux les personnes comme toi smile

A+
mdpubs

Hors ligne

#6 18-04-2010 17:46:31

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Remettre à 0, les stats d'un username

Bonjour,

Si j'ai bien compris ton problème, ca viens du fait que la structure de tes tables ne sont pas adaptées.

...c'est que les stats de ce premier sponsor (dans une autre table) soient remises à zéro...

Jusque la je te suis car c'est normal de dissocier les infos adm d'un utilisateur de ses données de production. Déjà, si tel etait le cas, ton problème serait déjà résolu car il suffirait de supprimer ses stats dans sa table stats avec son id recupéré dans sa table userinfos par ex.

D'ailleurs

Il y a 2 table différentes. La première table contient les données de la personne (nom, adresse, url, e-mail...) et la deuxième table contient des statistiques de visites correspondantes

va dans ce sens.

Or, ta phrase finale

Je pourrai faire un UPDATE, mais vu que si les infos du sponsor nom, adresse, etc.. sont visibles sur le formulaire d'UPDATE, les stats elles, n'y sont pas, car elles prendraient trop de place dans le formulaire. Et l'idée, c'est que quand le sponsor clic sur modifier les infos, l'UPDATE des info sur la première table se mette à jour et qu'en même temps, les stats (dans l'autre tables) se remette à zéro.

dit le contraire. Car lorsque je lis ça, je comprends que les stats de ton sponsor sont situés dans la même table que les infos adm de ton sponsor, ou alors que ton formulaire est généré a partir d'une requete sur 2 ou + de tables et que tu ne sais pas comment créer la requete que tu as besoin sur la bonne table.

Ton truc n'est pas clair du tout parceque lire ca après

Attention, il ne s'agit pas de détruire les stats de l'username, mais de les remettre à zéro.

n'aide pas à la compréhension car si stats=0 alors plus de stats non? par contre si user1.stats=10 et si newuser.stats=0 (normal il est nouveau), suffit d'afficher les stats du newuser pour avoir des stats à 0 et garder les stats de user1 dispo (non effacés).

Donc si tu pouvais exposer ton problème plus clairement, merci beaucoup (visiblement pierrot à compris il a de la chance^^)

Dernière modification par Jc (18-04-2010 17:51:24)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 18-04-2010 19:15:36

mdpubs
Membre
Inscription : 17-04-2010
Messages : 12

Re : Remettre à 0, les stats d'un username

Bonjour,

J'ai apporté la solution ci-dessus qui marche impecable. Ceci dit il manque juste une ligne d ecode importante. Donc je reprends le code au complet :

La connection à la base... Puis :

// Récupération du lien de suivi par la commande GET
if(isset($_GET['DATAS'])){
    $username=mysql_real_escape_string($_GET['DATAS'],$mysql_link);

// On lance la commande
$result = mysql_query($sql, $mysql_link) or die($sql.'<br/>'.mysql_error());

} // On ferme la commande

mysql_close(); // On ferme la table

Et voilà le tour est joué !

A+ et merci à tous yikes)
Mdpubs

Hors ligne

#8 18-04-2010 19:21:43

mdpubs
Membre
Inscription : 17-04-2010
Messages : 12

Re : Remettre à 0, les stats d'un username

En fait j'ai juste commis une erreur. Je voulais changer les infos d'un username dans une table et remettre à zéro les stats d'une autre table en rapport avec ce même username. L'erreur que j'ai commise, c'est que l'username, lui ne change pas, car dans mon idée, c'est un username fixe. C'est juste toutes les autres infos qui changent. Donc effectivement mon explication doit forcément pas être très compréhensive... J'espère que c'est plus claire maintenant. Je vous dois bien ça smile

A+
Mdpubs

Hors ligne

Pied de page des forums