Un souci en cas de multiple réponses identiques
Résolu
Sebas22
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
Sebas22 Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Sebas22 Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J’ai une petite base MySql et une page qui s’en sert pour aller chercher des photos dans un répertoire.
Pas de problème, la requête est bonne et les photos sont bien appelées.
La requête et les photos sont recherchées par rapport à l’appartenance à un champ groupe (Group_Abbr) et un code (Unique_Code_12)
Dans mon code php, je veux ajouter une légende générale, cette légende figure dans un champ (Membres) dans la même table (comme tous les champs concernés ici, d’ailleurs).
Le souci c’est que la même légende (identique) figure pour les mêmes occurrences de Group_Abbr et que le code php qui marche me donne autant de fois la même réponse qu’il y a de bonnes réponses pour Group_Abbr (entre 1 et 50 bonnes réponses !)… et je ne voudrais que la 1ère occurrence.
Comment faire ?
Voici mon code (le souci est signalé par un commentaire) :
J’ai essayé 2 choses (principalement):
Ajouter un DISTINCT pour le champ Membres dans la requête, mais alors la requête ne marche plus
Sortir le code avec souci du foreach, ajouter le code
$SupComp = !empty($_POST["Membres"]) ? $_POST["Membres"] : NULL;
echo '<p>Titre :' . $SupComp . ' </p>';
Mais je n’ai pas de réponse (après Titre c’est vide)
Je répète : il n’y a pas de message d’erreur, l’objectif de récupérer des photos est rempli, simplement ma légende se répète x fois comme ceci par exemple si Group_Abbr donne 4 réponses et la légende répétée est tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6 :
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Un peu d’aide, svp!
Seb
J’ai une petite base MySql et une page qui s’en sert pour aller chercher des photos dans un répertoire.
Pas de problème, la requête est bonne et les photos sont bien appelées.
La requête et les photos sont recherchées par rapport à l’appartenance à un champ groupe (Group_Abbr) et un code (Unique_Code_12)
Dans mon code php, je veux ajouter une légende générale, cette légende figure dans un champ (Membres) dans la même table (comme tous les champs concernés ici, d’ailleurs).
Le souci c’est que la même légende (identique) figure pour les mêmes occurrences de Group_Abbr et que le code php qui marche me donne autant de fois la même réponse qu’il y a de bonnes réponses pour Group_Abbr (entre 1 et 50 bonnes réponses !)… et je ne voudrais que la 1ère occurrence.
Comment faire ?
Voici mon code (le souci est signalé par un commentaire) :
$requete = $connexion->prepare("SELECT Unique_Code_12, Annee, Nom, Group_Abbr, Membres FROM champ1 WHERE Group_Abbr not like '%$' and Group_Abbr = :codepics and Nom != '' ORDER BY Nom"); // foreach ($result[1] as $row) { echo '<p>Titre : ' . $row["Membres"] . ' </p>'; //là est le souci! for ($i=1; $i<=12; $i=$i+1) {if (file_exists ('Photos/'. $row["Unique_Code_12"] . '$' . $i . '.jpg')) {echo '<tr><td><br><i>' . $row["Nom"] . '</i> [' . $row["Annee"] . ']<img class="displayed" border="0" src=""quot;xxxxxx.php?file=' . $row["Unique_Code_12"] . '$' . $i . '.jpg" alt="legend" title="photo"><i>'. $row["Nom"] . '</i> [' . $row["Annee"] . ']<br><br></td></tr>';} else {echo '';}}
J’ai essayé 2 choses (principalement):
Ajouter un DISTINCT pour le champ Membres dans la requête, mais alors la requête ne marche plus
Sortir le code avec souci du foreach, ajouter le code
$SupComp = !empty($_POST["Membres"]) ? $_POST["Membres"] : NULL;
echo '<p>Titre :' . $SupComp . ' </p>';
Mais je n’ai pas de réponse (après Titre c’est vide)
Je répète : il n’y a pas de message d’erreur, l’objectif de récupérer des photos est rempli, simplement ma légende se répète x fois comme ceci par exemple si Group_Abbr donne 4 réponses et la légende répétée est tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6 :
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Titre : tartempion1, tartempion2, tartempion3, tartempion4, tartempion5, tartempion6.
Un peu d’aide, svp!
Seb
A voir également:
- Un souci en cas de multiple réponses identiques
- Cas ram - Guide
- Excel case choix multiple - Guide
- Ecran multiple pc - Guide
- Comment désactiver le schéma de verrouillage en cas d'oubli - Guide
- Copier coller multiple - Guide
3 réponses
Salut,
en effet le souci vient du fait que ton titre soit dans le
Essaye de mettre ça :
avant le
--
en effet le souci vient du fait que ton titre soit dans le
foreach
Essaye de mettre ça :
echo '<p>Titre : ' . $result[1][0]["Membres"] . ' </p>';
avant le
foreach.
--
Salut,
Et merci de cette réponse rapide et parfaite!
Je marque "résolu".
Si tu as une minute tu peux augmenter ma courbe d'expérience en éclaircissant un point...
J'utilise sans trop savoir pourquoi
$result[1]
ou
$result[0]
dans mes codes.
Quelle différence?
Et maintenant je capte plus le [1] puis [0] pour
$result[1][0]
Encore merci, MrJenkins... j'ai encore beaucoup à apprendre, mais c'est un plaisir de trouver de l'aide sur ce forum
Seb
Et merci de cette réponse rapide et parfaite!
Je marque "résolu".
Si tu as une minute tu peux augmenter ma courbe d'expérience en éclaircissant un point...
J'utilise sans trop savoir pourquoi
$result[1]
ou
$result[0]
dans mes codes.
Quelle différence?
Et maintenant je capte plus le [1] puis [0] pour
$result[1][0]
Encore merci, MrJenkins... j'ai encore beaucoup à apprendre, mais c'est un plaisir de trouver de l'aide sur ce forum
Seb
La comme ça, je saurai pas te dire.
Tu utilises quelle méthode de connexion ? PDO ? c'est quoi ton code entre ton prepare et ton foreach ?
Ton [1] me semblait bizarre.. mais si tu retrouves tes données.. pourquoi pas.
Pour savoir ce que contient tes variables, tu peux faire un :
Moi j'ai rajouté le [0] pour prendre le 1er élément de ton tableau $result[1], et ensuite récupérer le ["Membres"] pour avoir le titre.
Tu utilises quelle méthode de connexion ? PDO ? c'est quoi ton code entre ton prepare et ton foreach ?
Ton [1] me semblait bizarre.. mais si tu retrouves tes données.. pourquoi pas.
Pour savoir ce que contient tes variables, tu peux faire un :
echo "<pre>";
print_r($ma_variable);
echo "</pre>";
Moi j'ai rajouté le [0] pour prendre le 1er élément de ton tableau $result[1], et ensuite récupérer le ["Membres"] pour avoir le titre.