Bonjour,
Je rencontre un petit problème avec mon code.
Je cherche à créer une liste de choix qui a pour value et label le nom et prénom de l'élève
if(!isset ($_POST['add_note']) AND !isset ($_POST['student_choice'])){
?>
<form action="" method="post">
<label for="student_choice">Choisissez l'élève: </label>
<select name="student_choice">
<option value="choose">--- Choisissez ---</option>
<?php foreach($student as $studentList){?>
<option value="<?= $studentList[0] . ' ' . $studentList[1]?>"><?= $studentList[0] . ' ' . $studentList[1]?></option>
<?php };
print_r($studentlist);?>
</select><br/>
<label for="student_note">Note: </label><input type="number" name="student_note" placholder="Note" /><br/>
<p><strong>Voulez-vous ajouter une nouvelle note?</strong></p>
<label for="add_note">Oui </label><input type="radio" name="add_note" value="ok"/>
<label for="add_note">Non </label><input type="radio" name="add_note" value="not" checked /><br>
<input type="submit" value="Envoyer">
</form>
<?php
print_r($student);
<?php
function studentSearch() :array{
require 'pdo.php';
$student = [
'first_name'=> '',
'last_name' => ''
];
$req = $bdd->query('SELECT first_name, last_name FROM students');
foreach($req as $studentName){
$student[] = [$studentName['first_name'], $studentName['last_name']];
};
return $student;
};
J'obtiens bien une liste, mais dedans j'ai 2X "Uninitialized string offset 0" puis la liste des élèves. Je n'arrive pas à comprendre où est le bug.
Merci de votre aide.
Dans ta fonction search_student tu as un tableau comme celui-ci
<?php
$student = [
'first_name'=> '',
'last_name' => ''
];
}
Mais après ta req SQL tu obtiens un tableau du genre
$student = [
'first_name' => '',
'last_name' => '',
['a', 'b'], // ceci est ajouté dans ta boucle
['a', 'b']
];
Alors essaie avec un tableau vide par défault $student = []