$sql="SELECT COUNT(*) AS nombre_colonnes_identiques, t.* FROM (SELECT n1, n2, n3, n4, n5 FROM JEUX WHERE (n1, n2, n3, n4, n5) IN (SELECT t1, t2, t3, t4, t5 FROM TIRAGE) ) AS t";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
$row = $pdostat->fetch();
$resu = $row['nombre_colonnes_identiques'];
echo $resu;
SELECT COUNT(*) AS nombre_colonnes_identiques FROM JEUX
WHERE
n1 IN (SELECT t1, t2, t3, t4, t5 FROM TIRAGE)
OR
n2 IN (SELECT t1, t2, t3, t4, t5 FROM TIRAGE)
OR
n3 IN (SELECT t1, t2, t3, t4, t5 FROM TIRAGE)
OR
n4 IN (SELECT t1, t2, t3, t4, t5 FROM TIRAGE)
OR
n5 IN (SELECT t1, t2, t3, t4, t5 FROM TIRAGE)<?php
$jeux = [
["n1" => 1, "n2" => 2, "n3" => 3, "n4" => 4, "n5" => 5],
["n1" => 2, "n2" => 8, "n3" => 20, "n4" => 25, "n5" => 30],
];
$tirages = [["t1" => 8, "t2" => 20, "t3" => 30, "t4" => 31, "t5" => 40]];
foreach ($tirages as $tirage) {
foreach ($jeux as $jeu) {
echo "tirage : " . implode(",", $tirage) . "\n";
echo "jeu : " . implode(",", $jeu) . "\n";
$intersect = array_intersect($tirage, $jeu);
echo "count intersect : " . count($intersect) . "\n";
if (count($intersect) > 0) {
echo "intersect : " . implode(",", $intersect) . "\n";
}
echo "\n";
}
}
Affiche :
tirage : 8,20,30,31,40
jeu : 1,2,3,4,5
count intersect : 0
tirage : 8,20,30,31,40
jeu : 2,8,20,25,30
count intersect : 3
intersect : 8,20,30SELECT COUNT(*) AS nombre_colonnes_identiques
FROM JEUX
INNER JOIN TIRAGE ON
JEUX.n1 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5)
OR
JEUX.n2 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5)
OR
JEUX.n3 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5)
OR
JEUX.n4 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5)
OR
JEUX.n5 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5);
Après tout dépends ta recherche, si tu vérifie si n1 est dans toutes les colonnes de TIRAGE ou seulement t1, la requête peut être simplifiée :
SELECT COUNT(*) AS nombre_colonnes_identiques FROM JEUX
WHERE
n1 IN (SELECT t1 FROM TIRAGE)
OR n2 IN (SELECT t2 FROM TIRAGE)
OR n3 IN (SELECT t3 FROM TIRAGE)
OR n4 IN (SELECT t4 FROM TIRAGE)
OR n5 IN (SELECT t5 FROM TIRAGE);$sql="SELECT COUNT(*) AS nombre_colonnes_identiques FROM JEUX INNER JOIN TIRAGE ON JEUX.n1 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5)
OR JEUX.n2 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5) OR JEUX.n3 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5)
OR JEUX.n4 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5) OR JEUX.n5 IN (TIRAGE.t1, TIRAGE.t2, TIRAGE.t3, TIRAGE.t4, TIRAGE.t5) WHERE name='$pseudo' AND lastInsertId()";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
$row = $pdostat->fetch();
$resu = $row['nombre_colonnes_identiques'];
echo $resu;
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1370 execute command denied to user 'ub6k8_youe'@'%' for routine 'ub6k8_xxxx.lastInsertId'
if(isset($_POST['jouer'])){
if(isset($_POST['n'])){
$cases_cochees = [];
foreach( $_POST['n'] as $valeur){
$cases_cochees[] = $valeur;
}
$sql="INSERT INTO JEUX (name, city, pays, continent, n1, n2, n3, n4, n5) VALUES ('$pseudo', '$citoyen', '$residant', '$situation_continent', '{$cases_cochees[0]}','{$cases_cochees[1]}','{$cases_cochees[2]}','{$cases_cochees[3]}','{$cases_cochees[4]}');";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
.if(isset($_POST['jouer'])){
if(isset($_POST['n'])){
$cases_cochees = [];
$n=0;
}
foreach( $_POST['n'] as $valeur){
$cases_cochees[] = $valeur;
$n++;
if($n<=5){
$sql="INSERT INTO JEUX (name, city, pays, continent, n1, n2, n3, n4, n5) VALUES ('$pseudo', '$citoyen', '$residant', '$situation_continent', '{$cases_cochees[0]}','{$cases_cochees[1]}','{$cases_cochees[2]}','{$cases_cochees[3]}','{$cases_cochees[4]}');";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
}
}
}
Warning: Undefined array key 1 in /home/clients/78f15c369c0786c4a419608e9e60028........
Warning: Undefined array key 2 in /home/clients/78f15c369c0786c4a419608e9e60028a...............
Warning: Undefined array key 3 in home/clients/78f15c369c0786c4a419608e9e60028a...on line 28
Warning: Undefined array key 4 in home/clients/78f15c369c0786c4a419608e9e60028a on line 28
Warning: Undefined array key 2 in home/clients/78f15c369c0786c4a419608e9e60028on line 28
Warning: Undefined array key 3 in home/clients/78f15c369c0786c4a419608e9e60028..on line 28
etc...