Intégration de votre ticket à gratter

Sur cette page vous allez avoir différentes façons d'intégrer votre ticket, avec la gestion plus ou moins poussée du tirage de votre lot.

Tout code et information est ici donnée à titre informatif, et peut évoluer dans le temps avec l'évolution des langages du web. Tenez-vous au courant des dernières évolutions.

Les intégrations proposées ici sont pour du PHP/HTML uniquement.

Exemple 1 : tirage aléatoire simple

Dans cette exemple, il ne faut pas se casser la tête. Nous utiliserons la fonction php mt_rand, avec pour limites 0 (le ticket perdant) et n(le nombre de tickets gagnants). Nous intègrerons également l'attribution du lot, à utiliser dans une requête sql.

Dans notre exemple, nous aurons 1 ticket perdant (0) et 4 tickets gagnants. N'oubliez pas qu'il vous faut, en plus de ces images, l'image du ticket non gratté, qui sera utilisé dans la partie HTML.

Voici le code PHP :

...
// Variables définissant les différentes images, ainsi que des gains.
$img[0] = "http://www.mondomaine.fr/monticketperdant.ext";
$gain[0] = 0; // 0 points
$img[1] = "http://www.mondomaine.fr/monticketgagnant1.ext";
$gain[1] = 10; // 10 points
$img[2] = "http://www.mondomaine.fr/monticketgagnant2.ext";
$gain[2] = 20; // 20 points
$img[3] = "http://www.mondomaine.fr/monticketgagnant3.ext";
$gain[3] = 35; // 35 points
$img[4] = "http://www.mondomaine.fr/monticketgagnant4.ext";
$gain[4] = 50; // 50 points
// Tirage avec mt_rand du lot en question
$resultat = mt_rand(0,4);
// étant donné que nous sonnes sur un ticket à gratter simple, nous créditons le compte de notre joueur
mysql_query("UPDATE table_membre SET points=points+".$gain[$resultat]." WHERE id=".$id_membre); // cete requête est biensur à adapter suivant le script de votre site
...

Passons maintenant à l'affichage du ticket, dans la partie HTML du code. Nous considérons dans notre cas que le code HTML se trouve dans le même fichier que le code PHP ajouté ci-dessus.

Voici le code HTML, avec 2 inclusions PHP :

...
<!-- Ici nous utilisons le code généré, avec quelques modifications -->
<object type="application/x-shockwave-flash" data="http://www.grattici.com/swf/ticket-1-v1.0.swf?img1=http://www.mondomaine.fr/monticketnongraté.ext&img2=<?php print($img[$resultat]); ?>&wid=400&hei=300&gratt=40" width="400px" height="300px">
<param name="movie" value="http://www.grattici.com/swf/ticket-1-v1.0.swf?img1=http://www.mondomaine.fr/monticketnongraté.ext&img2=<?php print($img[$resultat]); ?>&wid=400&hei=300&gratt=40">
<param name="wmode" value="transparent">
</object>
...

Faites bien attention ! Il ne faut pas copier bêtement ce code, sans réfléchir. Pensez à modifier les variables suivant la largeur, la hauteur du ticket, l'URL du ticket non gratté, ainsi que le diamètre du gratteur !

Exemple 2 : tirage aléatoire avec probabilités

Dans ce deuxième exemple, nous utiliserons toujours la même fonction mt_rand de PHP, mais ce n'est pas lui qui va nous donner directement le gain.

Le principe ici est d'avoir une plage de probabilité, et d'attribuer le résultat suivant le résultat de mt_rand.

Dans notre exemple, nous aurons 1 ticket perdant (0) et 4 tickets gagnants. N'oubliez pas qu'il vous faut, en plus de ces images, l'image du ticket non gratté, qui sera utilisé dans la partie HTML. Pour les probabilités, nous alons faire sortir un nombre entre 0 et 100 à la fonction mt_rand, et traitons ensuite l'information.

Le code PHP se compose comme suit :

...
// Tirage avec mt_rand.
$resultat = mt_rand(0,100);
// On traite le résultat.
if ($resultat <= 50) { //valeur de 0 à 50 inclus
	$img = "http://www.mondomaine.fr/monticketperdant.ext";
	$gain = 0; // 0 points
}
elseif ($resultat <= 75) { //valeur de 51 à 70 inclus
	$img = "http://www.mondomaine.fr/monticketgagnant1.ext";
	$gain = 10; // 10 points
}
elseif ($resultat <= 90) { //valeur de 71 à 90 inclus
	$img = "http://www.mondomaine.fr/monticketgagnant2.ext";
	$gain = 20; // 20 points
}
elseif ($resultat <= 98) { //valeur de 90 à 98 inclus
	$img = "http://www.mondomaine.fr/monticketgagnant3.ext";
	$gain = 35; // 35 points
}
else { //les autres valeurs
	$img = "http://www.mondomaine.fr/monticketgagnant4.ext";
	$gain = 50; // 50 points
}
// étant donné que nous sonnes sur un ticket à gratter simple, nous créditons le compte de notre joueur
mysql_query("UPDATE table_membre SET points=points+".$gain." WHERE id=".$id_membre); // cete requête est biensur à adapter suivant le script de votre site
...

Vous pouvez remarquer que contrairement à l'exemple 1, nous tirons d'abord le chiffre au hasard, et suivant le résultat, nous attribuons le résultat.

Cet exemple est idéal dans le cas où vous souhaitez faire un ticket à gratter avec plusieurs types de lots (points + € + autres).

Pour ce faire, le code PHP se présente comme ceci :

...
// Tirage avec mt_rand.
$resultat = mt_rand(0,100);
// On traite le résultat.
if ($resultat <= 50) { //valeur de 0 à 50 inclus
	$img = "http://www.mondomaine.fr/monticketperdant.ext";
	$query = 0; // rien
}
elseif ($resultat <= 75) { //valeur de 51 à 70 inclus
	$img = "http://www.mondomaine.fr/monticketgagnant1.ext";
	$query = "UPDATE table_membre SET ... WHERE id=".$id_membre; // préparation requête 1
}
elseif ($resultat <= 90) { //valeur de 71 à 90 inclus
	$img = "http://www.mondomaine.fr/monticketgagnant2.ext";
	$query = "UPDATE table_membre SET ... WHERE id=".$id_membre; // préparation requête 2
}
elseif ($resultat <= 98) { //valeur de 90 à 98 inclus
	$img = "http://www.mondomaine.fr/monticketgagnant3.ext";
	$query = "UPDATE table_membre SET ... WHERE id=".$id_membre; // préparation requête 3
}
else { //les autres valeurs
	$img = "http://www.mondomaine.fr/monticketgagnant4.ext";
	$query = "UPDATE table_membre SET ... WHERE id=".$id_membre; // préparation requête 4
}
// ICi nous éxecutons la requête si elle n'est pas nulle
if ($query != 0) {
	mysql_query($query); // execution de la requête préalablement préparée.
}
...

Passons maintenant à l'affichage du ticket, dans la partie HTML du code. Nous considérons dans notre cas que le code HTML se trouve dans le même fichier que le code PHP ajouté ci-dessus.

Le code ne diffère pas énormément du code en exemple 1 :

...
<!-- Ici nous utilisons le code généré, avec quelques modifications -->
<object type="application/x-shockwave-flash" data="http://www.grattici.com/swf/ticket-1-v1.0.swf?img1=http://www.mondomaine.fr/monticketnongraté.ext&img2=<?php print($img); ?>&wid=400&hei=300&gratt=40" width="400px" height="300px">
<param name="movie" value="http://www.grattici.com/swf/ticket-1-v1.0.swf?img1=http://www.mondomaine.fr/monticketnongraté.ext&img2=<?php print($img); ?>&wid=400&hei=300&gratt=40">
<param name="wmode" value="transparent">
</object>
...

Faites bien attention ! Il ne faut pas copier bêtement ce code, sans réfléchir. Pensez à modifier les variables suivant la largeur, la hauteur du ticket, l'URL du ticket non gratté, ainsi que le diamètre du gratteur !