PHP Comptabilisation

Résolu
Utilisateur anonyme -  
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   -
Re Bonjour,

Je voudrais vous posez une autre question.

Je fais un script en PHP et je voudrais savoir comment je peux Incrémenter de +1

Je m'explique : C'est un script de connexion pour utilisateur et je voudrais faire une comptabilisation du nombre de connexion et je ne sais pas comment faire.

Pouvez - vous m'aider??


Merci de votre collaboration.
A voir également:

18 réponses

Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
$nom_de_ta_variable++ pour incrémenter ta variable ...

C'est ce que tu cherches ?
0
Utilisateur anonyme
 
En fait pour être un peu plus précis,

Je veux incrémenter dans la table.

Par exemple

ConnexionMembre = 0
et quand il se connaitre mettre a jour en incrémentant de 1.

J'ai essayer avec un update mais ca a pars marché
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
C'est ton update qui marche pas ou c'est le lien avec la connexion de l'utilisateur?

L'update devrait donner quelque chose comme :

Update 'ta_table' as t
SET t.connexion = t.connexion + 1
where nom = 'nom de l'utilisateur'; ( non testé )
0
Utilisateur anonyme
 
c'est exactement ce que j'ai testé mais je n'ai eu aucun résultat.

Cela ne fonctionne pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
T'es sûr que ton champ est un bien un int?

Sinon une méthode pas très propre consiste à récupérer le contenu du champ que tu veux incrémenter dans une variable ( avec select .. ), à incrémenter la variable dans ton code et à faire un update avec cette variable ...

C'est pas joli je sais mais c'est plus sûr ... :s
0
Utilisateur anonyme
 
oui le champ est bien un int "int(11)".

Mais comment tu fais cela??
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Si c'est un int bizarre que l'update ne marche pas ...

Pour la méthode que je t'ai donné :

$compt_util = mysql_query ( "SELECT connexion FROM ta_table AS t WHERE t.nom = '$nom_util");

$compt_util++;

mysql_query( "UPDATE ta_table AS t SET t.connexion = '$compt_util' WHERE nom = $nom_util");

( je n'ai pas testé .. )


Dis moi si ça marche ça ....
0
Utilisateur anonyme
 
Bonsoir,

je l'ai fait telle qu'ellle mais je n'ai aucun résultat.

voisi le script :

<?php

mysql_connect("host","login","mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>;
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}
$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req = mysql_query($sql, Membre);

while ($test0 = mysql_fetch_row($req) )
{

if ($test0 == null )
{echo "<br> Nom d'utilisateur et / ou mot de passe incorrect";
} else
{echo "<br>Bonjour ".$login;
}
}
$connect = mysql_query("SELECT ConnexionMembre FROM Membre AS T WHERE PseudoMembre = $login;");

$connect++;

mysql_query("UPDATE Membre SET PseudoMembre = $connect WHERE PseudoMembre = $login;");
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Tu as un message d'erreur ou pas?

Il se passe quoi ?

Essaie Membre.PseudoMembre à la place de simplement PseudoMembre.
Et aussi tu n'as pas besoin des ; à la fin de tes requetes SQL.

Essaie également tes requêtes comme cela : "SELECT ConnexionMembre FROM Membre AS T WHERE PseudoMembre = " . $login . "

Et :

"UPDATE Membre SET PseudoMembre = " . $connect . " WHERE PseudoMembre = " . $login . "

Fais un echo de $connect pour vérifier et vérifie ensuite dans ta base si la valeur de $connect s'est mise dedans.

Si tu as un problème déjà au niveau de $connect c'est normal que ça ne fonctionne pas.

Sinon C'est un problème dans le update.
0
Utilisateur anonyme
 
Re bonjour je n'ai toujours aucun résultat

Tout se passe bien sauf l'incrémentation.


Script modifié :

<?php

mysql_connect("host","mon login","mon mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}
$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req = mysql_query($sql, Membre);

while ($test0 = mysql_fetch_row($req) )
{

if ($test0 == null )
{echo "<br> Nom d'utilisateur et / ou mot de passe incorrect";
} else
{echo "<br>Bonjour ".$login;
}
}
$connect = mysql_query("SELECT ConnexionMembre FROM Membre AS T WHERE Membre.PseudoMembre = ".$login."");
{echo "$connect";
}

$connect++;
{echo "$connect";
}

mysql_query("UPDATE Membre SET Membre.PseudoMembre = ".$connect." WHERE Membre.PseudoMembre = ".$login."");

?>
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Ils te retournent quoi les 2 : "echo $connect" ?

Et dans ta base il se passe quoi au niveau de ConnexionMembre?

Ah oui et petite erreur :

"mysql_query("UPDATE Membre SET Membre.PseudoMembre = ".$connect." WHERE Membre.PseudoMembre = ".$login.""); "

C'est pas plutôt :
mysql_query("UPDATE Membre SET Membre.ConnexionMembre = ".$connect." WHERE Membre.PseudoMembre = ".$login."");
0
Utilisateur anonyme
 
J'ai corrigé l'érreur mais ca ne donne rien :

Les 2 échos ne me retournent rien du tout.

:-(
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28
 
moi ce qui me dérange c'est tes '''''''''''''''''''''''&variables''''''''''''''''''''''''''...as-tu des messages d'erreurs?
Le mieux cest de faire quelquechose du type:

$query = "SELECT * FROM gna WHERE gna = \' '.$variable.' \' ; " ; (jai mis pleins d'espaces pour que ça soit visible hein ^^ )
0
Utilisateur anonyme
 
Bonjour [o.o]Replay, mes variables sont intactes je n'ai aucune erreur.

de plus en essayant ta méthode j'obtiens cette erreur :

Fatal error: Call to undefined function: () in /mnt/104/sdb/7/3/cadenot/connexion.php on line 28
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Pourquoi tu mets tes echo dans des {}

Essaie plutôt :

$connect = mysql_query("SELECT ConnexionMembre FROM Membre WHERE Membre.PseudoMembre = " . $login );

while ( $test1 = mysql_fetch_row($connect) )
{ echo "$connect";
}

$test1++;
{echo "$test1";
}

mysql_query("UPDATE Membre SET Membre.PseudoMembre = " . $test1 . " WHERE Membre.PseudoMembre = " . $login );


Je ne suis pas convaincu mais sait-on jamais ^^
0
Utilisateur anonyme
 
ca semble s'améliorer mais j'obtiens cette erreur :

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /mnt/104/sdb/7/3/connexion.php on line 30
1

Script modifié :

<?php

mysql_connect("",""")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}
$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req = mysql_query($sql, Membre);

while ($test0 = mysql_fetch_row($req) )
{

if ($test0 == null )
{echo "<br> Nom d'utilisateur et / ou mot de passe incorrect";
} else
{echo "<br>Bonjour ".$login;
}
}
$connect = mysql_query("SELECT ConnexionMembre FROM Membre WHERE Membre.PseudoMembre = ".$login."");

while ( $test1 = mysql_fetch_row($connect) )
{ echo "$connect";
}

$test1++;
{echo "$test1";
}

mysql_query("UPDATE Membre SET Membre.PseudoMembre = ".$test1." WHERE Membre.PseudoMembre = ".$login."");
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
J'ai ENFIN trouvé l'erreur ! ! ! lool

Dans ta requete, il faut que le champ login soit entre quotes!

Donc ("SELECT ConnexionMembre FROM Membre WHERE Membre.PseudoMembre = '" . $login . "'");

Pareil ici :
("UPDATE Membre SET Membre.PseudoMembre = '".$test1."' WHERE Membre.PseudoMembre = '".$login."'");


Bon normalement là ça marche ^^

Tiens moi au courant =)
0
Utilisateur anonyme
 
Re,

Ben je l'ai éxécuté, mais j'obtiens Resource id #3 qui vient d'un écho et je sais pas lequel en plus...

Script modifié :

<?php

mysql_connect("host","login","mdp")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}
$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req = mysql_query($sql, Membre);

while ($test0 = mysql_fetch_row($req) )
{

if ($test0 == null )
{echo "<br> Nom d'utilisateur et / ou mot de passe incorrect";
} else
{echo "<br>Bonjour ".$login;
}
}
$connect = mysql_query("SELECT ConnexionMembre FROM Membre WHERE Membre.PseudoMembre = '".$login."'");

while ( $test1 = mysql_fetch_row($connect) )
{ echo "$connect";
}

$test1++;
{echo "$test1";
}

mysql_query("UPDATE Membre SET Membre.PseudoMembre = ".$test1." WHERE Membre.PseudoMembre = '".$login."'");
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Re,

Oui désolé j'ai oublié de t'expliquer un truc ...

Ton bout de code :

$connect = mysql_query("SELECT ConnexionMembre FROM Membre WHERE Membre.PseudoMembre = '".$login."'");

while ( $test1 = mysql_fetch_row($connect) )
{ echo "$connect";
}

$test1++;
{echo "$test1";
}

mysql_query("UPDATE Membre SET Membre.PseudoMembre = ".$test1." WHERE Membre.PseudoMembre = '".$login."'");


Remplace le par :


$connect = mysql_query("SELECT ConnexionMembre FROM Membre WHERE Membre.PseudoMembre = '".$login."'");

$test1 = mysql_fetch_row($connect);
echo "$test1[$login]"; // $test1 est un tableau donc il lui préciser quel "case" choisir


$test1[$login]++;
{echo "$test1[$login]";
}

mysql_query("UPDATE Membre SET Membre.PseudoMembre = ".$test1[$login]." WHERE Membre.PseudoMembre = '".$login."'");




Par contre je ne sais pas si c'est plutôt mysql_fetch_row($connect) ou mysql_fetch_array($connect)

Essaie les 2.
0
Utilisateur anonyme
 
Ca marche!!!:-):-)

Comment te remercier, je suis désolé de t'avoir pris de ton temps, et te remercie infiment du temps que tu m'as accordé :-):-)

ENCORE MERCI :-)
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Pas de soucis c'est fait pour ça les forums ^^ Si t'as d'autres problèmes n'hésites pas ^^
Je ne suis pas un as mais je commence à connaitre quelques trucs ^^

N'oublies pas de cocher la petite case "problème résolu" ;)

A bientôt =)
0