Page 1 sur 1

Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 16:11
par Toumitoun
Tout d'abord bonjour à tous et à toutes, et merci d'avance à ceux qui pourront m'aider et / ou qui prendront le temps de me lire !

Actuellement en train de développer un site consacré aux jeux vidéo (entre autres), je me tourne vers vous car je rencontre un problème que je n'arrive pas à résoudre ... J'ai mis en place un système qui permet aux visiteurs de posséder un "capital de points", qui pourra ensuite servir pour des enchères ou autres évènements. Cependant je rencontre un problème ! Voici ma question :

Comment faire pour que le "capital de points" d'un membre (connecté bien sûr) s'incrémente d'une certaine valeur (1 point, 2 points ou plus ...) au chargement d'une page (en l'occurrence ici, la page d'accueil) ?

En gros, je souhaiterais que le champ "points" présent dans ma base de données MySQL s'incrémente à chaque chargement de la page index.php !

Je ne sais pas si j'ai été très clair, ou si le problème est facile à résoudre ... mais j'espère que vous pourrez m'aider, ou tout du moins m'aiguiller sur le bon chemin !

Merci d'avance et à bientôt !

Re: Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 16:26
par Kajan
Si je comprend bien, il suffit que t'ai un champ points dans ta table utilisateurs.

Et dans le code de ta page d'accueil, tu teste si la personne qui consulte le site est loggué, si oui, tu récupère la valeur de ses points, tu l'incrémente et tu enregistre la nouvelle valeur.

J'espère avoir été compréhensible.

Re: Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 16:34
par Toumitoun
Merci Kajan pour ta réponse rapide :) Donc oui tu as bien compris ce que je désirais faire. Voici ce que j'ai codé (ça ne doit pas être un codage optimal ... mais je débute donc je suis pardonnable ... non ? ^^)
<?php
	if(isset($_SESSION['login'])) // je vérifie que le membre est loggué
	{
                // j'ouvre ma connexion 		
		$connexion = mysql_connect('localhost', 'root', '');
		mysql_select_db('nom_de_la_base_de_donnees', $connexion);
		
		$req = "SELECT psa_pts FROM tbl_user WHERE login = '" . $_SESSION['login'] . "'"; // Je sélectionne les points du membre (psa_pts)
		
		$attribution_points = mysql_query($req) + 5; // ici je rajoute 5 points au nombre de points déjà présent dans la base MySQL

		$sql = "INSERT INTO tbl_user (psa_pts) VALUES '" . $pts . "'"; // J'insère la nouvelle valeur dans la table ...
		
		mysql_query($sql); // et j'exécute !
	}
?>

Re: Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 16:42
par dev3
Bonjour,

faire update :

Code : Tout sélectionner

UPDATE tbl_user SET psa_pts=psa_pts + '" . $pts . "'";

Re: Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 16:58
par Toumitoun
Bonjour Dev3 !

Je viens d'essayer la technique de la mise à jour avec la commande UPDATE, cependant ça ne donne toujours pas de résultat ... Voici ce que donne la portion de code une fois la modification faite ...
	<?php
            if(isset($_SESSION['login'])) // je vérifie que le membre est loggué
            {
                    $base = mysql_connect('localhost', 'root', '');
                    mysql_select_db('playstation-anthologie', $base);
                   
                    $req = "SELECT psa_pts FROM tbl_user WHERE login = '" . $_SESSION['login'] . "'"; // Je sélectionne les points du membre (psa_pts)
                   
                   $pts = mysql_query($req) + 5;
	
                    $sql = "UPDATE tbl_user SET psa_pts = psa_pts + '" . $pts . "'"; // J'insère la nouvelle valeur dans la table ...
                   
                    mysql_query($sql); // et j'exécute !
            }
    ?>
Je ne vois pas du tout ce qui pourrait clocher :s

Re: Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 17:00
par Toumitoun
Rectification ... tout marche !

Un grand merci et une bonne continuation aux personnes m'ayant répondu :)

Re: Incrémentation de variable et chargement de page

Posté : 01 juil. 2010, 17:22
par AB
Pas besoin de faire deux requêtes. Une seule suffira

$sql = "UPDATE tbl_user SET psa_pts = psa_pts + '" . $pts . "' WHERE login = '" . $_SESSION['login'] . "'";
Parce qu'avec ta solution tu risque de faire l'update sur toutes tes valeurs psa_pts :(

Re: Incrémentation de variable et chargement de page

Posté : 02 juil. 2010, 08:26
par Toumitoun
Bonjour AB !

En effet, tous les membres recevaient la nouvelle valeur ... ce qui n'est pas vraiment génial ^^

En tout cas merci pour ta requête, ça nettoie mon code source en plus !

Un grand merci à vous tous pour votre aide !

Re: Incrémentation de variable et chargement de page

Posté : 02 juil. 2010, 17:36
par AB
Alors si c'est ok, un petit "résolu" pour indiquer que ce topic contient une solution ? :)

Re: Incrémentation de variable et chargement de page

Posté : 04 juil. 2010, 17:21
par Toumitoun
Le problème c'est que j'ai posté mon premier message sans posséder de compte (en invité donc) et du coup je n'ai pas accès à la modification de celui-ci !

Si un modérateur passe par là, pourrait-il le faire pour moi ? Merci d'avance et bonne après midi !