J'ai un petit problème avec ce bout de code. Lorsque la condition est remplie, la base de données se met à jour correctement mais ma page est automatiquement actualisée à la fin de la requête. De ce fait, le message Bravo, un code... n'apparaît jamais!
Code : Tout sélectionner
$sql = "SELECT SUM(clic) as nb FROM ptc_controle WHERE login='$emailutil' AND clic='1'";
$req=mysql_query($sql) or die(mysql_error());
$data=mysql_fetch_array($req);
$nbc=$data['nb'];
//on va vérifier si la condition est remplie
if ($nbc>=18)
{//on met à jour la table !!!C'est cette requête qui pose problème !!!!!!!!!!!!!!!!!!!!!!!
$sql = "UPDATE ptc_controle SET clic=2,hconversion=NOW() WHERE login='$emailutil' AND clic=1 LIMIT $ptc_nbclic";
$req = mysql_query($sql) or die(mysql_error());
echo "Bravo, un code de $ptc_cadeau points de fidélité vient de vous être envoyé, $ptc_nbclic clics ont été retirés de votre cagnotte.<br>";
}
echo 'Votre cagnotte PTC contient actuellement <b>'.$nbc.'</b> clic(s). Dès que votre cagnotte contiendra '.$ptc_nbclic.' clics, vous recevrez un code de '.$ptc_cadeau.' points de fidélité.<br>';
Code : Tout sélectionner
$sql = "UPDATE ptc_controle SET clic=1,hconversion=NOW() WHERE login='$emailutil' AND clic=1 LIMIT $ptc_nbclic";
Un grand merci pour votre aide
PS: Table avec Mysql de structure
CREATE TABLE ptc_controle (
login varchar(50) NOT NULL default '',
ip varchar(25) NOT NULL default '',
idpub int(11) NOT NULL default '0',
gain float(11,6) NOT NULL default '0.000000',
clic varchar(4) NOT NULL default '0',
hverif datetime NOT NULL default '0000-00-00 00:00:00',
hconversion datetime NOT NULL default '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;