[RESOLU] Tirage au sort

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Tirage au sort

Re: Tirage au sort

par orell1 » 12 déc. 2012, 15:43

Top alors!

Merci beaucoup pour votre aide!

Bonne continuation

Re: Tirage au sort

par piotrowski-s » 12 déc. 2012, 15:20

oui c'est une façon de procéder, elle a le mérite de fonctionner, c'est vrai que tu as un champs en plus, mais vu que tu fais un select*, pas besoin de refaire un SELECT count donc une deuxième requête.

C'est une façon simple de faire et qui fonctionne.

Je pense que tu as fini

Re: Tirage au sort

par orell1 » 12 déc. 2012, 13:42

je viens de faire ça et on dirait que cela fonctionne:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Noël 2012 Chez Dom</title>

<style>
/*span {
font-size: 36px; background-color:#ffffff;
margin-top: 35px;
margin-left: -490px;
position: absolute;
left: 50%;
width: 980px;
height:500px;
 box-shadow: 1px 1px 12px #555;
 background: #d3d3d3 url('templates/design_ruffin_tillemont/back.png');
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
text-align:center;
 }
 table {
         vertical-align:middle;
 }
.conteneur {
        margin-left: -490px;
        position: absolute;
        left: 50%;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 800px;
    height: 600px;
    background-color:#F00;     
}
.conteneur * {
    vertical-align: middle;
}
.conteneur span {
    display: inline-block;
    height: 100%;
}*/
html {
    height: 100%;
}
body {
    height: 100%;
        width:100%;
    margin: 0;
    padding: 0;
 background: #d61d25 url('img/christmas_background.jpg') no-repeat center center;
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
font-size:36px;
 background-size: 100% 100%;
}
#page-table {
    height: 100%;
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#page-td {
    height: 100%;
    padding: 0;
    vertical-align: middle;
        text-align:center;
}
div#global {
    width: 500px;
    margin: auto;
    text-align: center;
        background:#fff;
        padding:50px;
         box-shadow: 1px 1px 12px #ccc;
                 margin-top:-170px;
}
</style>
</head>
<body>
<?php
include_once('connection.php');
  $mail = $_GET['id_participant'];
  $num_participant = $_GET['num_participant'];
  
  
     $conn = db_connect();
     $query = "SELECT * FROM participants WHERE num_participant ='$num_participant' AND id_participant ='$mail'";
     $result = mysql_query($query, $conn);
	 //$parrainage = mysql_fetch_array($result)
	 $compteur = mysql_fetch_array($result);
	 
	 if($compteur['validation'] =='0') {
 

        $conn = db_connect();
        $sql = "SELECT * FROM participants WHERE id_participant !='$mail'  ORDER by rand()";
        $result = mysql_query($sql, $conn);

while ($row=mysql_fetch_array($result)) {;
$cadeau_pour = $row['prenom'];
$validation = $row['validation'];
$num = $row['num_participant'];
}


?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">

<?php
       
        echo htmlentities($cadeau_pour);
       
        if($result)
        $conn = db_connect();
        $sql = "UPDATE participants SET validation = '1' WHERE id_participant = '$mail'";
        $result = @mysql_query($sql, $conn);
       
        $sql_cadeaux = "UPDATE cadeaux SET cadeau_pour = '$cadeau_pour' WHERE id_participant = '$mail'";
        $result_cadeaux = @mysql_query($sql_cadeaux, $conn);
       
?>


    <br />
   <img src="img/cadeau-noel-ouvert.jpg" style="padding-top:10px;" />
    </div><!-- #global -->
</td></tr></table>
<?php
}
else {
	
?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">
    Tu dois déjà faire un cadeau à <br />
    Mais Le père Noël te remercie de ta générosité!
    <img src="http://forum.phpfrance.com/images/smilies/icon_wink.gif" alt=";-)" title="Wink" />
    </div><!-- #global -->
</td></tr></table>
<?php
}
?>
</body>
</html>
 
qu'en pensez-vous?

Merci

Re: Tirage au sort

par orell1 » 12 déc. 2012, 12:50

Je vous remercie tous les deux pour vous réponses! ;-)
Hélàs je ne comprends toujours pas comment procéder...

Voici ce que j'ai fait:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Noël 2012 Chez Dom</title>

<style>
/*span {
font-size: 36px; background-color:#ffffff;
margin-top: 35px;
margin-left: -490px;
position: absolute;
left: 50%;
width: 980px;
height:500px;
 box-shadow: 1px 1px 12px #555;
 background: #d3d3d3 url('templates/design_ruffin_tillemont/back.png');
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
text-align:center;
 }
 table {
         vertical-align:middle;
 }
.conteneur {
        margin-left: -490px;
        position: absolute;
        left: 50%;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 800px;
    height: 600px;
    background-color:#F00;     
}
.conteneur * {
    vertical-align: middle;
}
.conteneur span {
    display: inline-block;
    height: 100%;
}*/
html {
    height: 100%;
}
body {
    height: 100%;
        width:100%;
    margin: 0;
    padding: 0;
 background: #d61d25 url('img/christmas_background.jpg') no-repeat center center;
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
font-size:36px;
 background-size: 100% 100%;
}
#page-table {
    height: 100%;
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#page-td {
    height: 100%;
    padding: 0;
    vertical-align: middle;
        text-align:center;
}
div#global {
    width: 500px;
    margin: auto;
    text-align: center;
        background:#fff;
        padding:50px;
         box-shadow: 1px 1px 12px #ccc;
                 margin-top:-170px;
}
</style>
</head>
<body>
<?php
include_once('connection.php');
  $mail = $_GET['id_participant'];
  $num_participant = $_GET['num_participant'];
  
  
     $conn = db_connect();
     $query = "SELECT COUNT(*) FROM participants WHERE id_participant = '$mail'";
     $result = mysql_query($query, $conn);
	 //$parrainage = mysql_fetch_array($result)
	 $compteur = mysql_fetch_row($result);
 
if ($compteur[0] <= '0') { 
        $conn = db_connect();
        $sql = "SELECT * FROM participants WHERE id_participant != '$mail'  ORDER by rand()";
        $result = mysql_query($sql, $conn);

$row=mysql_fetch_array($result);
$cadeau_pour = $row['prenom'];
$validation = $row['validation'];

?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">

<?php
       
        echo htmlentities($cadeau_pour);
       
        if($result)
        $conn = db_connect();
        $sql = "UPDATE participants SET validation = '1' WHERE id_participant = '$mail'";
        $result = @mysql_query($sql, $conn);
       
        $sql_cadeaux = "UPDATE cadeaux SET cadeau_pour = '$cadeau_pour' WHERE id_participant = '$mail'";
        $result_cadeaux = @mysql_query($sql_cadeaux, $conn);
       
?>


    <br />
   <img src="img/cadeau-noel-ouvert.jpg" style="padding-top:10px;" />
    </div><!-- #global -->
</td></tr></table>
<?php
}
else {
	
?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">
    Tu dois déjà faire un cadeau à <br />
    Mais Le père Noël te remercie de ta générosité!
    <img src="http://forum.phpfrance.com/images/smilies/icon_wink.gif" alt=";-)" title="Wink" />
    </div><!-- #global -->
</td></tr></table>
<?php
}
?>
</body>
</html>
 
J'ai fait 2 tables car je pensais que le traitement serait plus simple pour les conditions mais maintenant on peut tout mettre dans une seule table...
Pour ce qui est de la description des cadeaux, c'est normal qu'elle n'y soit pas car chaque personne doit simplement avoir un nom au hasard et il lui fait un cadeaux d'un montant de 25€ maximum, comme ça c'est surprise.

Merci encore!

Re: Tirage au sort

par moogli » 12 déc. 2012, 12:33

:mrgreen: :mrgreen:

Re: Tirage au sort

par piotrowski-s » 12 déc. 2012, 12:17

j'avais zappé cet aspect la, effectivement il peut aussi faire ainsi.

La seule chose que j'ai regardé des tables c'est qu'il est en latin alors que ses pages sont en utf-8 ^^

Re: Tirage au sort

par moogli » 12 déc. 2012, 12:07

c'est simple : s'il y a participation il y a un enregistrement dans la seconde table donc un select count(*) sur cette table avec une restriction sur l'id participant indique ou non la participation :)


@+

Re: Tirage au sort

par piotrowski-s » 12 déc. 2012, 11:59

juste pour précision, select count renvoit le nombre de valeur d'une colonne, je ne vois pas comment avec un select count tu peux savoir si le gars a validé son tirage au sort ?

Re: Tirage au sort

par moogli » 12 déc. 2012, 11:45

salut,

bon le temps de taper 3 lignes z'avez 12 messages :/
@ piotrowski-s : par de colonne en plus un select count est fait pour cela (cf fin du message)

coté table, num_participant et id_participant cela fait redondant.

Pourquoi ? parce qu'une id c'est le diminutif de "identifiant" par essence unique (dans les pays anglophones c'est l'équivalent de la carte d'identité, le permis etc).
Dans une base de donnée, on a tendance a nommer id la clef primaire des tables.

Dans ton cas l'id semble être l'adresse mai, nomme donc ton champ email se sera plus compréhensible :)

ensuite la table cadeaux, je ne vois pas de description du cadeau (genre on joue sans savoir ce que l'on offre ? ;) ).
afin de prévoir les cadeaux a plusieurs j'aurais tendances a utiliser une table descriptive des cadeaux et une qui fait la relation cadeau personne (juste deux FK).

comme ça a la fin tu peux afficher fièrement vous offrez à mamie Gertrude le mixer 425 fonctions avec l'aide de tata Janine et l'cousine Gérard :D

en gros
CREATE TABLE IF NOT EXISTS participants (
  num_participant int(11) NOT NULL auto_increment primary key,
  email varchar(250) NOT NULL,
  nom varchar(250) NOT NULL,
  prenom varchar(250) NOT NULL,
  validation varchar(3) NOT NULL
)

create table cadeaux (
	idcadeau int not null auto_increment primary key,
	nom varchar(50) not null,
	description varchar(200) not null
)

create table offrandes(
	num_participant int(11) not null,
	idcadeau int not null,
	primary key(num_participant,idcadeau)
)
alter table offrandes add constraint fkparticipant foreign key (num_participant) references participants(num_participant);
alter table offrandes add constraint fkcadeau foreign key (idcadeau) references cadeaux(idcadeau)
a partir de la :
- une requête pour savoir si la personne a déjà joué (par exemple select count(*) from offrandes join participants using(num_participant) where email='[email protected]').
- si le retour est zéro tu lance ta requête avec l'order by rand
- si non ben message d'erreur :mrgreen:

le principe du count est les même avec ton architecture ;)

@+

Re: Tirage au sort

par piotrowski-s » 12 déc. 2012, 11:41

fais var_dump($row['validation']) pour voir ce qu'il renvoi.

Re: Tirage au sort

par orell1 » 12 déc. 2012, 11:35

merci pour ta réponse rapide...
Je viens de faire ce que tu m'as dit :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Noël 2012 Chez Dom</title>

<style>
/*span {
font-size: 36px; background-color:#ffffff;
margin-top: 35px;
margin-left: -490px;
position: absolute;
left: 50%;
width: 980px;
height:500px;
 box-shadow: 1px 1px 12px #555;
 background: #d3d3d3 url('templates/design_ruffin_tillemont/back.png');
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
text-align:center;
 }
 table {
	 vertical-align:middle;
 }
.conteneur {
	margin-left: -490px;
	position: absolute;
	left: 50%;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 800px;
    height: 600px;
    background-color:#F00;	
}
.conteneur * {
    vertical-align: middle;
}
.conteneur span {
    display: inline-block;
    height: 100%;
}*/
html {
    height: 100%;
}
body {
    height: 100%;
	width:100%;
    margin: 0;
    padding: 0;
 background: #d61d25 url('img/christmas_background.jpg') no-repeat center center;
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
font-size:36px;
 background-size: 100% 100%;
}
#page-table {
    height: 100%;
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#page-td {
    height: 100%;
    padding: 0;
    vertical-align: middle;
	text-align:center;
}
div#global {
    width: 500px;
    margin: auto;
    text-align: center;
	background:#fff;
	padding:50px;
	 box-shadow: 1px 1px 12px #ccc;
	 	 margin-top:-170px;
}
</style>
</head>
<body>
<?php
  $mail = $_GET['id_participant'];
  $num_participant = $_GET['num_participant'];
  
include_once('connection.php');
	$conn = db_connect();
  	$sql = "SELECT * FROM participants WHERE validation !='OUI' AND id_participant != '$mail' AND num_participant ='$num_participant' ORDER by rand()";
  	$result = mysql_query($sql, $conn);

$row=mysql_fetch_array($result);
$cadeau_pour = $row['prenom'];


if($row['validation'] =='0') {
?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">

<?php 
	
	echo htmlentities($cadeau_pour);
	
	if($result)
	$conn = db_connect();
  	$sql = "UPDATE participants SET validation = '1' WHERE id_participant = '$mail'";
	$result = @mysql_query($sql, $conn);
	
	$sql_cadeaux = "UPDATE cadeaux SET cadeau_pour = '$cadeau_pour' WHERE id_participant = '$mail'";
	$result_cadeaux = @mysql_query($sql_cadeaux, $conn);
	
?>


    <br />
   <img src="img/cadeau-noel-ouvert.jpg" style="padding-top:10px;" />
    </div><!-- #global -->
</td></tr></table>
<?php
}
else {
?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">
    Tu dois déjà faire un cadeau à <br />
    Mais Le père Noël te remercie de ta générosité! 
    ;-)
    </div><!-- #global -->
</td></tr></table>
<?php
}
?>
</body>
</html>
Malheureusement ça ne fonctionne pas, j'ai directement le message me disant que j'ai déjà joué malgré le fait que la valeur soit à 0

:-(

Re: Tirage au sort

par piotrowski-s » 12 déc. 2012, 11:32

c'est marrant dans tes tables tu défini tu iso8859-1 (latin1) mais l'encodage de tes fichiers est en utf-8 tu rsique de croiser certains problèmes liés à l'encodage.

Re: Tirage au sort

par piotrowski-s » 12 déc. 2012, 11:27

tu fais une condition, tu rajoute une colonne dans ta table ou sont enregistrés les joueurs avec un int, limité à 1 par défaut tu met 0 comme valeur
lorsque la personne soumet le tirage au sort alors tu fais un update et tu met cette colonne à 1.

Et puis lorsque la personne reclique sur la page du tirage au sort, tu récupère la colonne de la table membre et tu test, si elle est a 0 tu autorise la tirage si c'est 1 (tirage déjà soumis alors tu refuse).

tu test
if($var==0) {
// on autorise le tirage au sort
}
else
{
echo "vous avez déjà joué." ;
}

Tirage au sort

par orell1 » 12 déc. 2012, 11:21

Bonjour à tous,
J'essaie de faire un petit tirage au sort pour Noël avec ma famille et j'aurais besoin de vos lumière car je bloque sur un petit truc...
Voici ce que je souhaite faire :
Un tirage au sort avec les propriétés suivantes :
- Le nom de celui qui fait le tirage ne peut pas être le nom à qui il doit faire un cadeau
- Si le participant a déjà tirer un nom alors il ne peut plus jouer

Voici ce que j'ai fait:
Mes tables :
Participants
--
-- Structure de la table `participants`
--

CREATE TABLE IF NOT EXISTS `participants` (
  `num_participant` int(11) NOT NULL,
  `id_participant` varchar(250) NOT NULL,
  `nom` varchar(250) NOT NULL,
  `prenom` varchar(250) NOT NULL,
  `validation` varchar(3) NOT NULL,
  KEY `num_participant` (`num_participant`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Cadeaux
--
-- Structure de la table `cadeaux`
--

CREATE TABLE IF NOT EXISTS `cadeaux` (
  `num_participant` int(11) NOT NULL,
  `id_participant` varchar(250) NOT NULL,
  `cadeau_pour` varchar(250) NOT NULL,
  KEY `id_participant` (`id_participant`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Page index.php pour l'accueil des participants
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Noël 2012 Chez Dom</title>

<style>
/*span {
font-size: 36px; background-color:#ffffff;
margin-top: 35px;
margin-left: -490px;
position: absolute;
left: 50%;
width: 980px;
height:500px;
 box-shadow: 1px 1px 12px #555;
 background: #d3d3d3 url('templates/design_ruffin_tillemont/back.png');
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
text-align:center;
 }
 table {
	 vertical-align:middle;
 }
.conteneur {
	margin-left: -490px;
	position: absolute;
	left: 50%;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 800px;
    height: 600px;
    background-color:#F00;	
}
.conteneur * {
    vertical-align: middle;
}
.conteneur span {
    display: inline-block;
    height: 100%;
}*/
html {
    height: 100%;
}
body {
    height: 100%;
	width:100%;
    margin: 0;
    padding: 0;
 background: #d61d25 url('img/christmas_background.jpg') no-repeat center center;
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
font-size:24px;
 background-size: 100% 100%;
}
#page-table {
    height: 100%;
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#page-td {
    height: 100%;
    padding: 0;
    vertical-align: middle;
	text-align:center;
}
div#global {
    width: 500px;
    margin: auto;
    text-align: center;
	background:#fff;
	padding:50px;
	 box-shadow: 1px 1px 12px #ccc;
	 margin-top:-170px;
}
</style>
</head>
<body>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">

  <?php
  $id_participant = $_GET['id_participant'];
  $num_participant = $_GET['num_participant'];
//------------------------renomme le repertoire installation-------------------------------
//@rename("index.php","___index.php");
//@rename("--index.php","index.php");
//-----------------------------------------------------------------------------------------

//--------les includes des fonctions permettent le bon fonctionnement du site-------------- 
//include_once("haut.php");
//include_once("fonctions.php");
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------

$heures   = 0;  // les heures < 24
$minutes  = 0;   // les minutes  < 60
$secondes = 4;  // les secondes  < 60

$annee = date("Y");  // par defaut cette année
$mois  = date("m");  // par defaut ce mois
$jour  = date("d");  // par defaut aujourd'hui

$redirection = 'tirage.php?id_participant='.$id_participant.'&num_participant='.$num_participant.''; // quand le compteur arrive à 0
                                            // j'ai mis une redirection

/*******************************************************************************
    * calcul des secondes
    ***************************************************************************/

$secondes = mktime(date("H") + $heures,
                            date("i") + $minutes,
                            date("s") + $secondes,
                            $mois,
                            $jour,
                            $annee
                            ) - time();
?>
  
  <script type="text/javascript">
var temps = <?php echo $secondes;?>;
var timer =setInterval('CompteaRebour()',1000);
function CompteaRebour(){

  temps-- ;
  j = parseInt(temps) ;
  h = parseInt(temps/3600) ;
  m = parseInt((temps%3600)/60) ;
  s = parseInt((temps%3600)%60) ;
  document.getElementById('minutes').innerHTML= (s<10 ? "0"+s : s);
												
												//document.getElementById('minutes').innerHTML= (h<10 ? "0"+h : h) + '  h :  ' +
//                                                (m<10 ? "0"+m : m) + ' mn : ' +
//                                                (s<10 ? "0"+s : s) + ' s ';
if ((s == 0 && m ==0 && h ==0)) {
   clearInterval(timer);
   url = "<?php echo $redirection;?>"
   Redirection(url)
}
}
function Redirection(url) {
setTimeout("window.location=url", 500)
}
</script>
  <?php
// la condition est que le nombre de seconde soit etre superieur a 24 heures
if ($secondes <= 3600*24) {
?>
  <img src="img/cadeau-noel.jpg" style="padding-bottom:10px;" /><br />
  Ton cadeau sera destiné à...


<div id="minutes" style="margin-top:15px;"></div>

<?php
}
//-----------------------------------------------------------------------------------------

//------------- affichage du bas de page -------------------------------------------------- 
  //  include "bas.php";
//-----------------------------------------------------------------------------------------
?>
    </div><!-- #global -->
</td></tr></table>
</body>
</html>
Redirection au bout de 4 secondes sur le résultat du tirage (tirage.php) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Noël 2012 Chez Dom</title>

<style>
/*span {
font-size: 36px; background-color:#ffffff;
margin-top: 35px;
margin-left: -490px;
position: absolute;
left: 50%;
width: 980px;
height:500px;
 box-shadow: 1px 1px 12px #555;
 background: #d3d3d3 url('templates/design_ruffin_tillemont/back.png');
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
text-align:center;
 }
 table {
	 vertical-align:middle;
 }
.conteneur {
	margin-left: -490px;
	position: absolute;
	left: 50%;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 800px;
    height: 600px;
    background-color:#F00;	
}
.conteneur * {
    vertical-align: middle;
}
.conteneur span {
    display: inline-block;
    height: 100%;
}*/
html {
    height: 100%;
}
body {
    height: 100%;
	width:100%;
    margin: 0;
    padding: 0;
 background: #d61d25 url('img/christmas_background.jpg') no-repeat center center;
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;
font-size:36px;
 background-size: 100% 100%;
}
#page-table {
    height: 100%;
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#page-td {
    height: 100%;
    padding: 0;
    vertical-align: middle;
	text-align:center;
}
div#global {
    width: 500px;
    margin: auto;
    text-align: center;
	background:#fff;
	padding:50px;
	 box-shadow: 1px 1px 12px #ccc;
	 	 margin-top:-170px;
}
</style>
</head>
<body>
<?php
  $mail = $_GET['id_participant'];
  $num_participant = $_GET['num_participant'];
  
include_once('connection.php');
	$conn = db_connect();
  	$sql = "SELECT * FROM participants WHERE validation !='OUI' AND id_participant != '$mail' AND num_participant ='$num_participant' ORDER by rand()";
  	$result = mysql_query($sql, $conn);

$row=mysql_fetch_array($result);
$cadeau_pour = $row['prenom'];
$validation = $row['validation'];


if($validation) {
?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">

<?php 
	
	echo htmlentities($cadeau_pour);
	
	if($result)
	$conn = db_connect();
  	$sql = "UPDATE participants SET validation = 'OUI' WHERE id_participant = '$mail'";
	$result = @mysql_query($sql, $conn);
	
	$sql_cadeaux = "UPDATE cadeaux SET cadeau_pour = '$cadeau_pour' WHERE id_participant = '$mail'";
	$result_cadeaux = @mysql_query($sql_cadeaux, $conn);
	
?>


    <br />
   <img src="img/cadeau-noel-ouvert.jpg" style="padding-top:10px;" />
    </div><!-- #global -->
</td></tr></table>
<?php
}
else {
?>
<table id="page-table">
<tr>
<td id="page-td">
    <div id="global">
    Tu dois déjà faire un cadeau à <br />
    Mais Le père Noël te remercie de ta générosité! 
    ;-)
    </div><!-- #global -->
</td></tr></table>
<?php
}
?>
</body>
</html>
Voilà j'ai essayé avec différentes conditions mais je n'arrive pas à faire en sorte que si la personne participante a déjà joué, un message lui indique qu'il ne peut plus jouer...

Les participants arrivent sur la page index avec un lien personnalisé du type : index.php?id_participant=[email protected]&num_participant=3

Merci par avance pour votre aide.