Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mathieu Loiseau
GameOfWords
Commits
cc7239b9
Commit
cc7239b9
authored
Sep 22, 2015
by
David
Browse files
Nouvelles fonctionnalités de GOW
parent
ccbebca5
Changes
148
Expand all
Hide whitespace changes
Inline
Side-by-side
ChromePhp.php
0 → 100644
View file @
cc7239b9
This diff is collapsed.
Click to expand it.
README.md
View file @
cc7239b9
...
...
@@ -24,3 +24,4 @@ Contributors
Nejat Maryam
Graceffa David
# GameOfWord
audio/test.mp3
0 → 100644
View file @
cc7239b9
File added
controllers/diviner.class.php
View file @
cc7239b9
<?php
<?php
class
diviner_game
{
private
$mode
=
''
;
private
$errors
=
array
();
private
$lang
=
array
();
private
$motadeviner
=
''
;
private
$nivcarte
=
''
;
...
...
@@ -12,6 +13,7 @@ class diviner_game
private
$userlang
=
''
;
private
$user
=
''
;
private
$diviner
=
''
;
private
$pointsSanction
=
''
;
private
$raisin
=
''
;
private
$res2
=
''
;
...
...
@@ -21,13 +23,15 @@ class diviner_game
private
$result
=
''
;
private
$sanction
=
''
;
private
$score
=
''
;
private
$carteValide
=
false
;
private
$adresse
=
''
;
private
$reussie
=
'en cours'
;
private
$temps
=
''
;
private
$mess
=
''
;
public
function
set_mode
(
$mode
)
{
...
...
@@ -38,7 +42,7 @@ class diviner_game
{
if
(
$this
->
init
()
)
{
$this
->
sanctionLastPartie
();
$this
->
sanctionLastPartie
();
if
(
$this
->
selectpartie
()){
$this
->
update
();
}
...
...
@@ -53,15 +57,30 @@ class diviner_game
//récupération des informations de base : id user et sa langue
$this
->
user
=
user
::
getInstance
();
$this
->
diviner
=
$this
->
user
->
id
;
$this
->
userlang
=
$this
->
user
->
userlang
;
$this
->
userlvl
=
userlvl
::
getInstance
();
$this
->
time
=
$this
->
userlvl
->
get_time
();
//récupération des points de sanction
$this
->
pointsSanction
=
variable
::
getloosePointsDevin
();
if
(
isset
(
$_SESSION
[
"langDevin"
])){
$this
->
userlang
=
$_SESSION
[
"langDevin"
];
}
else
{
$this
->
userlang
=
$this
->
user
->
langGame
;
}
$this
->
temps
=
date
(
"d/m/Y H:i:s"
);
unset
(
$_SESSION
[
"motDeviner"
]);
//permet de supprimer la sécurité qui empêche le joueur de s'ajouter des points à l'infini
unset
(
$_SESSION
[
"timeOutOracle"
]);
//permet de supprimer la sécurité qui empêche le joueur d'enlever des points à l'oracle à l'infini
return
true
;
}
private
function
sanctionLastPartie
()
{
// fonction qui permet de vérifier l'état de la dernière partie et de sanctionner le joueur de 5 pts s'il a quitté la partitatut = "en cours")
$db
=
db
::
getInstance
();
include
(
'./sys/load_iso.php'
);
$db
=
db
::
getInstance
();
$sql
=
"SELECT *
FROM parties WHERE idDevin =
\"
"
.
$this
->
diviner
.
"
\"
ORDER BY parties.tpsDevin DESC
...
...
@@ -70,26 +89,45 @@ class diviner_game
$this
->
sanction
=
mysqli_fetch_assoc
(
$res
);
if
(
$this
->
sanction
[
'reussie'
]
==
"en cours"
){
$sql
=
"SELECT scoreDevin
FROM score
WHERE userid ='"
.
$this
->
diviner
.
"'"
;
$res
=
$db
->
query
(
$sql
);
$this
->
score
=
mysqli_fetch_assoc
(
$res
);
$sql
=
"SELECT *
FROM sanctionCarte
WHERE idDevin ='"
.
$this
->
diviner
.
"' AND enregistrementID='"
.
$this
->
sanction
[
'enregistrementID'
]
.
"'"
;
$res
=
$db
->
query
(
$sql
);
$this
->
existSanction
=
mysqli_num_rows
(
$res
);
if
(
$this
->
existSanction
==
0
){
//Ajout de la carte sanctionné dans la BDD
$sql
=
"INSERT INTO sanctionCarte
(idDevin,enregistrementID)
VALUES ("
.
$this
->
diviner
.
","
.
$this
->
sanction
[
'enregistrementID'
]
.
")"
;
if
(
$res
=
$db
->
query
(
$sql
)){
$sql
=
"SELECT scoreDevin, scoreGlobal
FROM score
WHERE userid ='"
.
$this
->
diviner
.
"' AND langue='"
.
$iso
[
$this
->
userlang
]
.
"'"
;
$res
=
$db
->
query
(
$sql
);
$this
->
score
=
mysqli_fetch_assoc
(
$res
);
if
(
$this
->
score
[
'scoreDevin'
]
>=
5
){
$this
->
score
[
'scoreDevin'
]
-=
5
;
$sql
=
'UPDATE score
SET scoreDevin="'
.
$this
->
score
[
'scoreDevin'
]
.
'"
WHERE userid="'
.
$this
->
diviner
.
'"'
;
$res
=
$db
->
query
(
$sql
);
echo
"blablé"
;
}
else
{
echo
"boubou"
;
}
if
(
$this
->
score
[
'scoreDevin'
]
>=
$this
->
pointsSanction
)
{
#à modifier avec un fichier config
$this
->
score
[
'scoreDevin'
]
-=
$this
->
pointsSanction
;
$this
->
score
[
'scoreGlobal'
]
-=
$this
->
pointsSanction
;
$sql
=
'UPDATE score
SET scoreDevin="'
.
$this
->
score
[
'scoreDevin'
]
.
'", scoreGlobal ="'
.
$this
->
score
[
'scoreGlobal'
]
.
'"
WHERE userid="'
.
$this
->
diviner
.
'" AND langue="'
.
$iso
[
$this
->
userlang
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
array_push
(
$this
->
lang
,
"sanction"
);
}
else
{
array_push
(
$this
->
lang
,
"sanction_without_points"
);
}
}
}
}
echo
"KFC"
;
}
private
function
selectpartie
()
...
...
@@ -98,85 +136,91 @@ class diviner_game
$db
=
db
::
getInstance
();
$sql
=
'SELECT
enregistrementID,cheminEnregistrement,idOracle,carteID,nivcarte
FROM enregistrement WHERE idOracle!='
.
$this
->
diviner
.
' AND OracleLang="'
.
$this
->
userlang
.
'" AND validation="valid" ORDER BY RAND()
LIMIT 100
'
;
FROM enregistrement WHERE idOracle!='
.
$this
->
diviner
.
' AND OracleLang="'
.
$this
->
userlang
.
'" AND validation="valid" ORDER BY RAND()'
;
$this
->
result
=
$db
->
query
(
$sql
);
$nb_result
=
$this
->
result
->
num_rows
;
//pour chaque enregistrement:
for
(
$i
=
1
;
$i
<=
$nb_result
;
$i
++
)
{
$this
->
raisin
=
mysqli_fetch_assoc
(
$this
->
result
)
;
if
(
$nb_result
>
0
){
while
(
$this
->
raisin
=
mysqli_fetch_assoc
(
$this
->
result
)
){
// construction de l'adresse de l'enregistrement à partir du nom du fichier son
$this
->
adresse
=
"enregistrements/"
.
$this
->
raisin
[
'cheminEnregistrement'
];
// construction de l'adresse de l'enregistrement à
partir du nom du fichier son
$this
->
adresse
=
"enregistrements/"
.
$this
->
raisin
[
'cheminEnregistrement'
];
//initialisation du booléen qui représentera la condition finale pour que la partie soit acceptée
// Il deviendra faux si le moindre critère n'est pas rempli durant la procédure
$partieok
=
true
;
//Connexion à la BD
$db
=
db
::
getInstance
();
//initialisation du booléen qui représentera la condition finale pour que la partie soit acceptée
// Il deviendra faux si le moindre crità¨re n'est pas rempli durant la procédure
$partieok
=
true
;
//récupération du contenu de la carte
$sql
=
'SELECT
//récupération du contenu de la carte
$sql
=
'SELECT
idDruide,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5
FROM carte WHERE carteID='
.
$this
->
raisin
[
'carteID'
]
.
''
;
$res
=
$db
->
query
(
$sql
);
$this
->
res3
=
mysqli_fetch_assoc
(
$res
);
$res
=
$db
->
query
(
$sql
);
$this
->
res3
=
mysqli_fetch_assoc
(
$res
);
//récupération de l'éventuelle partie que le devin aurait fait sur cet enregistrement pour ne pas le re-proposer
$sql
=
'SELECT reussie
//récupération de l'éventuelle partie que le devin aurait fait sur cet enregistrement pour ne pas le re-proposer
$sql
=
'SELECT reussie
FROM parties WHERE idDevin ="'
.
$this
->
diviner
.
'" AND enregistrementID= "'
.
$this
->
raisin
[
'enregistrementID'
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
$this
->
res5
=
mysqli_fetch_assoc
(
$res
);
// si le créateur de la carte et le devin sont la même personne, on passe à l'enregistrement suivant
if
(
$this
->
res3
[
'idDruide'
]
==
$this
->
diviner
)
{
$partieok
=
false
;
}
// si le devin a déjà joué cette carte et a eu un résultat (faux ou juste), on passe à l'enregistrement suivant.
//Si cette partie a été quitté précipitemment ou à cause d'un pb technique (reussie=en cours), il peut la rejouer.
if
((
$this
->
res5
[
'reussie'
]
==
"oui"
)
||
(
$this
->
res5
[
'reussie'
]
==
"non"
)
||
(
$this
->
res5
[
'reussie'
]
==
"en cours"
))
#A modifier!
{
$partieok
=
false
;
}
// si rien de s'oppose à ce que l'enregistrement soit proprosé
if
(
$partieok
)
{
// récupération du pseudo de l'oracle pour savoir qui on écoute
$db
=
db
::
getInstance
();
$sql
=
'SELECT username
FROM user WHERE userid ="'
.
$this
->
raisin
[
'idOracle'
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
$this
->
res2
=
mysqli_fetch_assoc
(
$res
);
//récupération du pseudo du créateur de la carte
$db
=
db
::
getInstance
();
$sql
=
'SELECT username
FROM user WHERE userid ="'
.
$this
->
res3
[
'idDruide'
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
$this
->
res4
=
mysqli_fetch_assoc
(
$res
);
$this
->
setcarteValide
(
$partieok
);
$this
->
res5
=
mysqli_fetch_assoc
(
$res
);
// si le créateur de la carte et le devin sont la màªme personne, on passe à l'enregistrement suivant
if
(
$this
->
res3
[
'idDruide'
]
==
$this
->
diviner
)
{
$partieok
=
false
;
}
// si le devin a déjà joué cette carte et a eu un résultat (faux ou juste), on passe à l'enregistrement suivant.
//Si cette partie a été quitté précipitemment ou à cause d'un pb technique (reussie=en cours), il peut la rejouer.
if
((
$this
->
res5
[
'reussie'
]
==
"oui"
)
||
(
$this
->
res5
[
'reussie'
]
==
"non"
)
||
(
$this
->
res5
[
'reussie'
]
==
"en cours"
))
#A modifier!
{
$partieok
=
false
;
}
//On vérifie ici que l'enregistrement est bien sur le serveur
if
(
!
file_exists
(
$this
->
adresse
)){
$partieok
=
false
;
}
return
true
;
}
// si rien de s'oppose à ce que l'enregistrement soit proprosé
if
(
$partieok
)
{
// récupération du pseudo de l'oracle pour savoir qui on écoute
$db
=
db
::
getInstance
();
$sql
=
'SELECT username
FROM user WHERE userid ="'
.
$this
->
raisin
[
'idOracle'
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
$this
->
res2
=
mysqli_fetch_assoc
(
$res
);
//récupération du pseudo du créateur de la carte
$db
=
db
::
getInstance
();
$sql
=
'SELECT username
FROM user WHERE userid ="'
.
$this
->
res3
[
'idDruide'
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
$this
->
res4
=
mysqli_fetch_assoc
(
$res
);
$this
->
setcarteValide
(
$partieok
);
return
true
;
break
;
}
}
array_push
(
$this
->
errors
,
'NoGame'
);
}
return
false
;
else
{
array_push
(
$this
->
errors
,
'noEnregistrement'
);
return
false
;
}
}
private
function
update
()
{
//Insertion des informations dans la table parties
//connexion à la bd
//connexion à
la bd
$db
=
db
::
getInstance
();
$sql
=
'INSERT INTO parties
...
...
@@ -193,16 +237,14 @@ class diviner_game
private
function
display
()
{
include
(
'./views/diviner.game.html'
);
return
true
;
}
public
function
setcarteValide
(
$state
){
$this
->
carteValide
=
$state
;
}
public
function
getcarteValide
(){
return
$this
->
carteValide
;
}
}
?>
controllers/diviner.menu.class.php
View file @
cc7239b9
<?php
<?php
class
diviner_menu
{
...
...
@@ -28,12 +28,17 @@ class diviner_menu
$controller
->
set_mode
(
$this
->
mode
);
return
$controller
->
process
();
break
;
default
:
//print $mode;
case
'diviner.game'
:
include
(
'controllers/diviner.class.php'
);
$controller
=
new
diviner_game
();
$controller
->
set_mode
(
$this
->
mode
);
return
$controller
->
process
();
break
;
default
:
include
(
'controllers/diviner.menu.game.php'
);
$controller
=
new
diviner_menu_game
();
$controller
->
set_mode
(
$this
->
mode
);
return
$controller
->
process
();
}
}
}
...
...
controllers/diviner.menu.game.php
0 → 100644
View file @
cc7239b9
<?php
class
diviner_menu_game
{
private
$mode
=
''
;
public
function
set_mode
(
$mode
)
{
$this
->
mode
=
$mode
;
}
public
function
process
()
{
if
(
$this
->
init
()
)
{
return
$this
->
display
();
}
return
false
;
}
private
function
init
()
{
return
true
;
}
private
function
display
()
{
include
(
'./views/diviner.menu.html'
);
return
true
;
}
}
?>
controllers/diviner.result.class.php
View file @
cc7239b9
...
...
@@ -5,9 +5,15 @@ class diviner_result
private
$mode
=
''
;
private
$user
=
''
;
private
$devin
=
''
;
private
$oracle
=
''
;
private
$userlvl
=
''
;
private
$lang
=
''
;
private
$devinName
=
''
;
private
$previousSGDev
=
0
;
private
$previousSDev
=
0
;
private
$previousSGOracle
=
0
;
private
$previousSOracle
=
0
;
private
$pointsDev
=
10
;
private
$reussie
=
'oui'
;
...
...
@@ -30,41 +36,89 @@ class diviner_result
private
function
init
()
{
include
(
'./sys/load_iso.php'
);
$db
=
db
::
getInstance
();
//Récupération des informaions de base: userid
$this
->
user
=
user
::
getInstance
();
$this
->
devin
=
$this
->
user
->
id
;
$this
->
devinName
=
$this
->
user
->
username
;
$this
->
lang
=
$_SESSION
[
"langDevin"
];
$sql
=
'SELECT * FROM user_niveau WHERE userid='
.
$this
->
devin
;
$result
=
$db
->
query
(
$sql
);
$res
=
mysqli_fetch_assoc
(
$result
);
$spoken_lang
=
explode
(
';'
,
$res
[
'spoken_lang'
]);
$i
=
0
;
while
(
$i
<
count
(
$spoken_lang
))
{
if
(
strcmp
(
$iso
[
$this
->
lang
],
$spoken_lang
[
$i
])
==
0
){
break
;
}
$i
++
;
}
if
(
$i
!=
count
(
$spoken_lang
)){
$lang_lvl
=
explode
(
';'
,
$res
[
'niveau'
])[
$i
];
$sql
=
'SELECT * FROM coeff_niveau_langue WHERE niveau_langue="'
.
$lang_lvl
.
'"'
;
$result
=
$db
->
query
(
$sql
);
$this
->
lang_lvl_pts
=
mysqli_fetch_assoc
(
$result
)[
'coeff'
];
}
else
{
$this
->
lang_lvl_pts
=
1
;
//par défaut
}
$this
->
userlvl
=
userlvl
::
getInstance
();
$this
->
points
=
$this
->
userlvl
->
get_points
();
$this
->
time
=
$this
->
userlvl
->
get_time
();
return
true
;
}
private
function
score
()
{
// Requête de modification du score du Devin qui a cherché en vain la réponse dans les astres alors qu'il fallait chercher dans les livres
if
(
!
isset
(
$_SESSION
[
"motDeviner"
]))
{
include
(
'./sys/load_iso.php'
);
require_once
(
'./controllers/update_score_coeff.php'
);
//connexion à la BD
$db
=
db
::
getInstance
();
//récupération du score précédent;
$sql
=
'SELECT `scoreGlobal`,`scoreDevin` FROM `score` WHERE `userid`="'
.
$this
->
devin
.
'"'
;
$result
=
$db
->
query
(
$sql
);
$res
=
mysqli_fetch_assoc
(
$result
);
$this
->
previousSGDev
=
$res
[
'scoreGlobal'
];
$this
->
previousSDev
=
$res
[
'scoreDevin'
];
//maj des variables de scores
updateScoreDevinSucces
(
$this
->
devin
,
$iso
[
$_SESSION
[
"langDevin"
]],
$this
->
points
);
//~ exit;
$this
->
previousSGDev
=
$this
->
previousSGDev
+
$this
->
pointsDev
;
$this
->
previousSDev
=
$this
->
previousSDev
+
$this
->
pointsDev
;
//maj des scores dans la BD
$sql
=
'UPDATE score
SET scoreGlobal='
.
$db
->
escape
((
string
)
$this
->
previousSGDev
)
.
', '
.
'scoreDevin='
.
$db
->
escape
((
string
)
$this
->
previousSDev
)
.
'
WHERE userid='
.
$this
->
devin
.
''
;
$db
->
query
(
$sql
);
//~ //récupération du score précédent;
//~ $sql = 'SELECT scoreGlobal,scoreDevin,first_game_time FROM score WHERE userid="'.$this->devin.'" AND langue="'. $iso[$_SESSION["langDevin"]] .'"';
//~ $result=$db->query($sql);
//~
//~ $res= mysqli_fetch_assoc($result);
//~ $this->previousSGDev= $res['scoreGlobal'];
//~ $this->previousSDev= $res['scoreDevin'];
//~ //maj des variables de scores
$pointsCoef
=
$this
->
points
*
$this
->
lang_lvl_pts
;
$_SESSION
[
"pointsCoef"
]
=
$pointsCoef
;
//~ $this->previousSGDev= $this->previousSGDev+($this->points*$this->lang_lvl_pts);
//~ $this->previousSDev= $this->previousSDev+($this->points*$this->lang_lvl_pts);
//~
//~ //echo $this->previousSDev;
//~ //maj des scores dans la BD
//~ if($res["first_game_time"]==""){
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGDev) . ', ' .
//~ 'scoreDevin='.$db->escape((string) $this->previousSDev) . ',' .
//~ 'first_game_time="'.date('Y-m-d H:i:s').'"
//~ WHERE userid='.$this->devin.' AND langue= "'.$iso[$_SESSION["langDevin"]].'"';
//~ }
//~ else{
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGDev) . ', ' .
//~ 'scoreDevin='.$db->escape((string) $this->previousSDev) . '
//~ WHERE userid='.$this->devin.' AND langue= "'.$iso[$_SESSION["langDevin"]].'"';
//~ }
//~ $db->query($sql);
// Requête de mise à jour de la table partie
$db
=
db
::
getInstance
();
...
...
@@ -72,11 +126,59 @@ class diviner_result
SET reussie='
.
$db
->
escape
((
string
)
$this
->
reussie
)
.
'
WHERE idDevin='
.
$this
->
devin
.
' ORDER BY tpsDevin DESC LIMIT 1 '
;
$db
->
query
(
$sql
);
return
true
;
//Récupération de enregistrementID
$sql
=
'SELECT enregistrementID FROM parties WHERE idDevin="'
.
$this
->
devin
.
'" ORDER BY tpsDevin DESC LIMIT 1 '
;
$res1
=
$db
->
query
(
$sql
);
$this
->
res2
=
mysqli_fetch_assoc
(
$res1
);
// récupération de l'id de l'oracle et de la carte grâce à enregistrementID
$sql
=
'SELECT idOracle,carteID,OracleLang
FROM enregistrement WHERE enregistrementID='
.
$this
->
res2
[
'enregistrementID'
]
.
''
;
$res1
=
$db
->
query
(
$sql
);
$res3
=
mysqli_fetch_assoc
(
$res1
);
updateScoreOracleDevinSucces
(
$res3
[
"idOracle"
],
$iso
[
$res3
[
"OracleLang"
]],
$this
->
res2
[
'enregistrementID'
]);
//~ //récupération du score précédent;
//~ $sql = 'SELECT scoreGlobal,scoreOracle FROM score WHERE userid="'.$res3["idOracle"].'" AND langue="'. $iso[$res3["OracleLang"]] .'"';
//~ $result=$db->query($sql);
//~ $res= mysqli_fetch_assoc($result);
//~ $this->previousSGOracle= $res['scoreGlobal'];
//~ $this->previousSOracle= $res['scoreOracle'];
//~ $this->previousSGOracle= $this->previousSGOracle+$this->points;
//~ $this->previousSOracle= $this->previousSOracle+$this->points;
//~
//~ //maj des variables de scores
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGOracle) . ', ' .
//~ 'scoreOracle='.$db->escape((string) $this->previousSOracle) . '
//~ WHERE userid='.$res3["idOracle"].' AND langue= "'.$iso[$res3["OracleLang"]].'"';
//~ $db->query($sql);
$this
->
oracle
=
$res3
[
"idOracle"
];
// récupération du contenu de la carte avec carteID
$sql
=
'SELECT carteID,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5 FROM carte WHERE carteID="'
.
$res3
[
'carteID'
]
.
'"'
;
$res
=
$db
->
query
(
$sql
);
$this
->
res
=
mysqli_fetch_assoc
(
$res
);
$_SESSION
[
"motDeviner"
]
=
true
;
//pour éviter de s'ajouter des points à l'infini avec des refresh
return
true
;
}
else
{
header
(
'Location: index.php?page.home.html'
);
return
false
;
}
}
private
function
display
()
{
$_SESSION
[
"notif"
][
"notification_done"
][
"Devin"
]
=
'points'
;
include
(
'./views/diviner.result.html'
);
return
true
;
}
...
...
controllers/diviner.timeout.class.php
View file @
cc7239b9
...
...
@@ -6,10 +6,12 @@ class diviner_timeout
private
$user
=
''
;
private
$diviner
=
''
;
private
$devinName
=
''
;
private
$oracle
=
''
;
private
$previousSGO
=
0
;
private
$previousSO
=
0
;
private
$pointsO
=
5
;
private
$res
=
''
;
private
$reussie
=
'non'
;
...
...
@@ -36,57 +38,80 @@ class diviner_timeout
//récupération des informations de base : userid
$this
->
user
=
user
::
getInstance
();
$this
->
diviner
=
$this
->
user
->
id
;
$this
->
devinName
=
$this
->
user
->
username
;
$this
->
userlvl
=
userlvl
::
getInstance
();
$this
->
points
=
$this
->
userlvl
->
get_points
();
return
true
;
}
private
function
carte_et_scoreOracle
()
{
// récupération d'enregistrementID pour récupérer l'id de l'Oracle et l'id de la carte
//connexion à la BD
$db
=
db
::
getInstance
();
//Récupération de enregistrementID
$sql
=
'SELECT enregistrementID FROM parties WHERE idDevin="'
.
$this
->
diviner
.
'" ORDER BY tpsDevin DESC LIMIT 1 '
;
$res1
=
$db
->
query
(
$sql
);
$res2
=
mysqli_fetch_assoc
(
$res1
);
// récupération de l'id de l'oracle et de la carte grâce à enregistrementID
$sql
=
'SELECT idOracle,carteID
FROM enregistrement WHERE enregistrementID='
.
$res2
[
'enregistrementID'
]
.
''
;
$res1
=
$db
->
query
(
$sql
);
$res3
=
mysqli_fetch_assoc
(
$res1
);
// récupération du contenu de la carte avec carteID
$sql
=
'SELECT carteID,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5 FROM carte WHERE carteID="'
.
$res3
[
'carteID'
]
.
'"'
;
$res4
=
$db