" Il ne faut pas faire de requête SELECT pour récupérer l'identifiant de l'élève ajouté."
" $stmt = $db->prepare('SELECT eleve_id FROM eleve');"
il faut écouter les conseils donnés.
<?php
require('objets.php');
//condition pour les stat aléatoirement
if (isset($_GET["lancer"])) {
//nombre d'élève générer aléatoirement
$nbrEleve = rand(3,10);
//boucle création eleve (affectation ecole, nbr de sports, selection des sports)
for ($i=0; $i < $nbrEleve; $i++) {
//affectation de l'id de l'école
$school_id = rand(1,3);
//création de l'objet eleve
$eleve_data = array(
'ecole_id' => $school_id
);
$eleve = new Eleve($eleve_data);
//affectation dans la variable $db de la connexion PDO
$db = new PDO('mysql:host=localhost;dbname=statecol', 'root', '');
//instanciation de la classe EleveManager, nous créons un objet breve en argument
//la connexion PDO est passée en paramètre au constructeur.
$manager = new EleveManager($db);
//appel de la méthode addPupil, nous passons un objet eleve en argument.
$manager->addEleve($eleve);
}
//récupération des eleve_id
$stmt = $db->prepare('SELECT eleve_id FROM eleve');
$stmt->execute();
//variable pour stocker la valeur du paramètre eleve_id
$eleve_id;
//boucle pour itérer sur les résultats
foreach ($stmt->fetchAll() as $result) {
//affectation des valeurs des résultats dans la variable
$eleve_id = $result['eleve_id'];
//génération aléatoire du nombre de sport
$prat_sport = rand(0,3);
function selectionnerNombresSansDoublons($prat_sport) {
// Initialisation d'un tableau vide
$nombres = [];
// Boucle pour générer jusqu'a 3 nombres aléatoires
for ($ii = 0; $ii < $prat_sport; $ii++) {
// Génération des nomnbres entre 1 et 5 qui seront les sportId
$nombre = rand(1, 5);
// Vérification que le nombre n'est pas déjà dans le tableau
if (!in_array($nombre, $nombres)) {
// Ajout du nombre au tableau
$nombres[]= $nombre;
}
}
}
// Retour du tableau de nombres
return $nombres;
foreach ($nombres as $nombre){
$sportId = $nombre;
//création de l'objet sportEleve
$sportEleve_data = array(
'eleve_id' => $eleve_id,
'sport_id' => $sportId,
);
//affectation dans la variable $db de la connexion PDO
$db = new PDO('mysql:host=localhost;dbname=statecol', 'root', '');
//instanciation de la classe EleveManager, nous créons un objet breve en argument
//la connexion PDO est passée en paramètre au constructeur.
$manager1 = new SportEleveManager($db);
//appel de la méthode addPupil, nous passons un objet eleve en argument.
$manager1->addSportEleve($sportEleve);
}
}
}
?>
require('objets.php');
//condition pour les stat aléatoirement
if (isset($_GET["lancer"])) {
//nombre d'élève générer aléatoirement
$nbrEleve = rand(3,10);
//boucle création eleve (affectation ecole, nbr de sports, selection des sports)
for ($i=0; $i < $nbrEleve; $i++) {
//affectation de l'id de l'école
$school_id = rand(1,3);
//création de l'objet eleve
$eleve_data = array(
'ecole_id' => $school_id
);
$eleve = new Eleve($eleve_data);
//affectation dans la variable $db de la connexion PDO
$db = new PDO('mysql:host=localhost;dbname=statecol', 'root', '');
//instanciation de la classe EleveManager, nous créons un objet breve en argument
//la connexion PDO est passée en paramètre au constructeur.
$manager = new EleveManager($db);
//appel de la méthode addPupil, nous passons un objet eleve en argument.
$manager->addEleve($eleve);
}
//récupération des eleve_id
$stmt = $db->prepare('SELECT eleve_id FROM eleve');
$stmt->execute();
//variable pour stocker la valeur du paramètre eleve_id
$eleve_id;
//boucle pour itérer sur les résultats
foreach ($stmt->fetchAll() as $result) {
//affectation des valeurs des résultats dans la variable
$eleve_id = $result['eleve_id'];
//génération aléatoire du nombre de sport
$prat_sport = rand(0,3);
function selectionnerNombresSansDoublons($prat_sport) {
// Initialisation d'un tableau vide
$nombres = [];
// Boucle pour générer jusqu'a 3 nombres aléatoires
for ($ii = 0; $ii < $prat_sport; $ii++) {
// Génération des nomnbres entre 1 et 5 qui seront les sportId
$nombre = rand(1, 5);
// Vérification que le nombre n'est pas déjà dans le tableau
if (!in_array($nombre, $nombres)) {
// Ajout du nombre au tableau
$nombres[]= $nombre;
}
}
}
// Retour du tableau de nombres
return $nombres;
foreach ($nombres as $nombre){
$sportId = $nombre;
//création de l'objet sportEleve
$sportEleve_data = array(
'eleve_id' => $eleve_id,
'sport_id' => $sportId,
);
//affectation dans la variable $db de la connexion PDO
$db = new PDO('mysql:host=localhost;dbname=statecol', 'root', '');
//instanciation de la classe EleveManager, nous créons un objet breve en argument
//la connexion PDO est passée en paramètre au constructeur.
$manager1 = new SportEleveManager($db);
//appel de la méthode addPupil, nous passons un objet eleve en argument.
$manager1->addSportEleve($sportEleve);
}
}
}
//condition pour lancer les stat aléatoirement
if (isset($_GET["generer"])){
// Instanciation de connexion au serveur
$db = new PDO('mysql:host=localhost;dbname=statecol', 'root', '');
//récupération des eleve_id
$stmt = $db->prepare('SELECT eleve_id FROM eleve');
$stmt->execute();
while ($row = $stmt -> fetch()){
print_r($row); 'br';
//affectation des valeurs des résultats dans la variable
$eleve_id = $row['eleve_id'];
//génération aléatoire du nombre de sport
$prat_sport = rand(0, 3);
// Initialisation d'un tableau vide
$nombres = [];
// Boucle pour générer jusqu'a 3 nombres aléatoires
for ($ii = 0; $ii < $prat_sport; $ii++) {
// Génération des nombres entre 1 et 5 qui seront les sportId
$nombre = rand(1, 5);
// Vérification que le nombre n'est pas déjà dans le tableau
if (!in_array($nombre, $nombres)) {
// Ajout du nombre au tableau
$nombres[]= $nombre;
}
// Récupération des sportId du tableau nombres
foreach ($nombres as $nombre){
$sportId = $nombre;
}
//création de l'objet sportEleve
$sportEleve_data = array(
'eleve_id' => $eleve_id,
'sport_id' => $sportId,
);
// Instanciation de la classe SportEleve
$sportEleve = new SportEleve($sportEleve_data);
// Instanciation de connexion au serveur
$db = new PDO('mysql:host=localhost;dbname=statecol', 'root', '');
//instanciation de la classe EleveManager, nous créons un objet breve en argument
//la connexion PDO est passée en paramètre au constructeur.
$manager1 = new SportEleveManager($db);
//appel de la méthode addSportEleve, nous passons un objet sportEleve en argument.
$manager1->addSportEleve($sportEleve);
}
}
}
for ($ii = 0; $ii < $prat_sport; $ii++) {
// Génération des nombres entre 1 et 5 qui seront les sportId
$nombre = rand(1, 5);
// Vérification que le nombre n'est pas déjà dans le tableau
if (!in_array($nombre, $nombres)) {
// Ajout du nombre au tableau
$nombres[]= $nombre;
}else{
// Si le nombre est déjà dans le tableau on passe à l'itération suivante
continue;
}