L'image ne s'affiche pas correctement
Résolu/Fermé
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
-
30 sept. 2021 à 06:40
chrisCL974 Messages postés 63 Date d'inscription jeudi 30 septembre 2021 Statut Membre Dernière intervention 25 novembre 2021 - 30 sept. 2021 à 12:49
chrisCL974 Messages postés 63 Date d'inscription jeudi 30 septembre 2021 Statut Membre Dernière intervention 25 novembre 2021 - 30 sept. 2021 à 12:49
A voir également:
- L'image ne s'affiche pas correctement
- Le clavier de mon telephone ne s'affiche plus - Guide
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Image iso windows 10 - Guide
- Faststone image viewer - Télécharger - Visionnage & Diaporama
4 réponses
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
30 sept. 2021 à 06:52
30 sept. 2021 à 06:52
Bonjour
Faudrait déjà voir ce que contient la variable $rowsallPro (en en faisant un var_dump)
Et aussi nous montrer le code de la fonction...
Faudrait déjà voir ce que contient la variable $rowsallPro (en en faisant un var_dump)
Et aussi nous montrer le code de la fonction...
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
1
30 sept. 2021 à 06:58
30 sept. 2021 à 06:58
Ce code est pour la création de la formation/cours qui dépend de creerForm.php :
Ce code est creerForm.php :
Ce code est creerProgramme.php (où le titre du programme de la formation dépend du titreProgramme) :
<form action="" method="post"> <select value="$programme" class="form-select" aria-label="Default select example" name="programme" required> <option disabled selected>Programme</option> <?php if(!empty($rowsallPro)) { foreach($rowsallPro as $rowPro){?> <option value="<?php echo $rowPro['titreProgramme'];?>"><?php echo $rowPro['titreProgramme']; ?></option> <?php } } ?> </select> </form>
Ce code est creerForm.php :
public function createForm(){ if(isset($_POST['programme']) && isset($_POST['lieu']) && isset($_POST['formateur']) && isset($_POST['nb_place']) && isset($_POST['forma_time']) && isset($_POST['forma_date'])) { $programme = $_POST['programme']; $lieu = $_POST['lieu']; $formateur = $_POST['formateur']; $nb_place = $_POST['nb_place']; $forma_date = $_POST['forma_date']; $forma_time = $_POST['forma_time']; if(empty($programme)) { header("Location: index_admin.php?error=Nom de la formation requis"); exit(); } else { $query = "INSERT INTO forma (programme, lieu, formateur, forma_time, forma_date, nb_place) VALUES ('$programme', '$lieu', '$formateur', '$forma_time', '$forma_date', '$nb_place')"; if($sql = $this->conn->query($query)) { echo "<div class='card w-25' style='padding:20px;color: #45509E; margin:auto;'> <h5 style='text-align:center'> <i class='fas fa-check-circle'></i> <b>La formation sur le programme <q> ". $_POST['programme']. " </q> a bien été créé</b></h5> <a href='../admin/index_admin.php' style='color:grey;text-align:center'>Retour vers les programmes</a> </div>"; exit(); } else { header("Location: index_admin.php"); exit(); } } } }
Ce code est creerProgramme.php (où le titre du programme de la formation dépend du titreProgramme) :
public function createProgramme(){ if(isset($_POST['titreProgramme']) && isset($_POST['sousTitre']) && isset($_POST['descriProgramme']) && isset($_POST['heurePro']) && isset($_POST['minutePro']) && isset($_POST['itemProgramme']) && isset($_POST['modaliteProgramme']) && isset($_FILES['imageProgramme'])) { $titreProgramme = $_POST['titreProgramme']; $sousTitre = $_POST['sousTitre']; $descriProgramme = $_POST['descriProgramme']; $heurePro = $_POST['heurePro']; $minutePro = $_POST['minutePro']; $itemProgramme = $_POST['itemProgramme']; $modaliteProgramme = $_POST['modaliteProgramme']; $imageProgramme = $_FILES['imageProgramme']['name']; if(empty($titreProgramme)) { header("Location: index_admin.php?error=Nom du programme requis"); exit(); } else { $query = "INSERT INTO programme (titreProgramme, sousTitre, descriProgramme, heurePro, minutePro, itemProgramme, modaliteProgramme, imageProgramme) VALUES ('$titreProgramme', '$sousTitre', '$descriProgramme', '$heurePro', '$minutePro', '$itemProgramme', '$modaliteProgramme', '$imageProgramme')"; if($sql = $this->conn->query($query)) { move_uploaded_file($_FILES['imageProgramme']['tmp_name'], "$imageProgramme"); echo "<div class='card w-25' style='padding:20px;color: #45509E; margin:auto;'> <h5 style='text-align:center'> <i class='fas fa-check-circle'></i> <b>Le programme <q> ". $_POST['titreProgramme']. " </q> a bien été créé</b></h5> <a href='../admin/programme.php' style='color:grey;text-align:center'>Retour vers les programmes</a> </div>"; exit(); } else { header("Location:programme.php"); exit(); } } } }
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
30 sept. 2021 à 08:36
30 sept. 2021 à 08:36
c'est le code de ces fonctions qui m'intéresse
et que tu fasses un var_dump de ces deux variables
$rowsallPro = $creerProgramme->getAllProgramme(); $rowsallParticipant = $participant->getAllParticipant();
et que tu fasses un var_dump de ces deux variables
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
1
>
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
30 sept. 2021 à 08:44
30 sept. 2021 à 08:44
Code creerProgramme.php :
Code participant.php :
public function getAllProgramme(){ $data = null; $query = "SELECT programmeID, titreProgramme, sousTitre, descriProgramme, heurePro, minutePro, itemProgramme, modaliteProgramme, imageProgramme FROM programme"; if($sql = $this->conn->query($query)) { while($row = mysqli_fetch_assoc($sql)) { $data[] = $row; } } return $data; }
Code participant.php :
public function getAllParticipant(){ $data = null; $query = "SELECT participantID, programmeChoisi, nomParticipant, prenomParticipant, fonctionParticipant, serviceParticipant FROM participant"; if($sql = $this->conn->query($query)) { while($row = mysqli_fetch_assoc($sql)) { $data[] = $row; } } return $data; }
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
1
>
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
30 sept. 2021 à 08:44
30 sept. 2021 à 08:44
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
30 sept. 2021 à 09:00
30 sept. 2021 à 09:00
Dans ta requête pour avoir les participants, à quoi correspond la colonne programmeChoisi ?
C'est l'ID de la formation ( la colonne programmeID de la table programme ) ?
Si oui, c'est ce champ là qu'il faut utiliser dans ton code..
C'est l'ID de la formation ( la colonne programmeID de la table programme ) ?
Si oui, c'est ce champ là qu'il faut utiliser dans ton code..
$rowsallPro = $creerProgramme->getAllProgramme(); $rowsallParticipant = $participant->getAllParticipant(); if(!empty($rowsall) AND ($rowsallPro)) { foreach($rowsall as $k => $row) { $programmeChoisi = $row['programmeChoisi']; $rowPro = $rowsallPro[$programmeChoisi];
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
30 sept. 2021 à 09:05
30 sept. 2021 à 09:05
Oupsss...
ce n'est pas la jointure avec la participants qui pose problème...
Désolé.
Donc, il nous faut le code de
et sur le principe.. c'est la même chose... il faut utiliser le champ qui sert de "lien" entre tes deux requetes
Mais en regardant tes var_dump .. je ne vois pas de champs qui correspondent ...
N'aurais tu pas oublié une table (une jointure) dans ton code ???
ce n'est pas la jointure avec la participants qui pose problème...
Désolé.
Donc, il nous faut le code de
$rowsall = $creerForm->getAllForm();
et sur le principe.. c'est la même chose... il faut utiliser le champ qui sert de "lien" entre tes deux requetes
Mais en regardant tes var_dump .. je ne vois pas de champs qui correspondent ...
N'aurais tu pas oublié une table (une jointure) dans ton code ???
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
1
>
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
30 sept. 2021 à 09:30
30 sept. 2021 à 09:30
creerForm.php fonction getAllForm:
Comment je pourrais joindre le programme avec le titreProgramme du programme.php?
public function getAllForm(){ $data = null; $query = "SELECT formaID, programme, lieu, formateur, forma_date, forma_time, nb_place FROM forma ORDER BY forma_date ASC"; if($sql = $this->conn->query($query)) { while($row = mysqli_fetch_assoc($sql)) { $data[] = $row; } } return $data; }
Comment je pourrais joindre le programme avec le titreProgramme du programme.php?
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
>
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
30 sept. 2021 à 10:13
30 sept. 2021 à 10:13
Déjà, il faut éviter de faire des "liens" en se basant sur du texte ( le titre... )
Il est largement préférable de ne travailler qu'avec des identifiants uniques ( en général, les ID (clés primaires..), de tes tables )
Quel le schéma de ta bdd ?
As tu fais le MCD de ta base ? quelles sont les cardinalités de tes tables ?
Un programme peut être lié à combien de formations ?
Une formation peut être rattachée à combien de programme ?
Si une formation peut se trouver dans plusieurs programmes et ou un programme avoir plusieurs formations .. il va te falloir une table supplémentaire pour gérer ces associations.
Si, la relation, par contre, est du un pou un ( une formation associé à un programme ).. là, il suffit d'ajouter un champ dans ta table formation ( id_programme) le lien se fera alors sur ce champ.
Il est largement préférable de ne travailler qu'avec des identifiants uniques ( en général, les ID (clés primaires..), de tes tables )
Quel le schéma de ta bdd ?
As tu fais le MCD de ta base ? quelles sont les cardinalités de tes tables ?
Un programme peut être lié à combien de formations ?
Une formation peut être rattachée à combien de programme ?
Si une formation peut se trouver dans plusieurs programmes et ou un programme avoir plusieurs formations .. il va te falloir une table supplémentaire pour gérer ces associations.
Si, la relation, par contre, est du un pou un ( une formation associé à un programme ).. là, il suffit d'ajouter un champ dans ta table formation ( id_programme) le lien se fera alors sur ce champ.
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
1
>
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
30 sept. 2021 à 11:31
30 sept. 2021 à 11:31
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
>
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
30 sept. 2021 à 11:40
30 sept. 2021 à 11:40
Comme je te le disais, il faut modifier dans ta table forma, le champ "programme" pour le lier au champ programmID de ta table programme.
Ca évitera des erreurs et rendra le fonctionnement du code plus performant.
et donc, dans ton code, ça deviendra
Ca évitera des erreurs et rendra le fonctionnement du code plus performant.
et donc, dans ton code, ça deviendra
if(!empty($rowsall) AND ($rowsallPro)) { foreach($rowsall as $k => $row) { $programmeChoisi = $row['programmID']; $rowPro = $rowsallPro[$programmeChoisi];
chrisCL974
Messages postés
63
Date d'inscription
jeudi 30 septembre 2021
Statut
Membre
Dernière intervention
25 novembre 2021
1
30 sept. 2021 à 09:05
30 sept. 2021 à 09:05
Les participants sont ceux qui ont choisi la formation créées.
J'ai voulu faire le lien avec mysql mais cela n'a pas marché
$rowsall et $rowsallPro sont pour récupérer les informations dont la base où les formulaires ont submit.
Et là c'est d'afficher l'image par rapport au programme choisi où la formation a été créée
Vu que la formation dépend du programme choisis. (je sais pas si c'est compréhensible.. ????????)
J'ai voulu faire le lien avec mysql mais cela n'a pas marché
$rowsall et $rowsallPro sont pour récupérer les informations dont la base où les formulaires ont submit.
Et là c'est d'afficher l'image par rapport au programme choisi où la formation a été créée
Vu que la formation dépend du programme choisis. (je sais pas si c'est compréhensible.. ????????)
30 sept. 2021 à 06:55
30 sept. 2021 à 06:57
Et qu'il faut remplacer $k. Par $row['lechampquifaitlelien..']
30 sept. 2021 à 07:14