Affichage sous plusieurs conditions
Bonjour,
Je travaille sur un site web dédié aux séries télévisées.
Le site affiche des fiches descriptives des différentes séries.
L'affichage de la distribution se fait comme suit:
Affichage normal:
ACTEUR : ROLE
Si un acteur est remplacé par un ou plusieurs autres dans son rôle:
ACTEUR remplacé par ACTEUR remplacé par ... : ROLE
Exemple
Pour cet affichage, Séb. m'a déjà aidé ici;
Par contre, dans le cas ci-dessous, je ne parviens vraiment à rien.
Dans certain cas, la distribution est affichée par périodes :
Affichage normal:
PERIODE
ACTEUR : ROLE
Si un acteur est remplacé par un ou plusieurs autres dans son rôle:
PERIODE
ACTEUR remplacé par ACTEUR remplacé par ... : ROLE
Exemple
J'utilise une base de données pour afficher mes fiches.
Voici ma requête:
Code:
1 2 3 4 5 6 7 8 9
|
$castQuery = $conn->prepare('SELECT seriesTitle, characterName AS charName, personName, appearanceOrder AS appOrder, period FROM CASTING AS C
JOIN SERIES AS S ON S.seriesId = C.seriesId
JOIN PERSON AS P ON P.personId = C.personId
JOIN CHAR_PLAYED AS CP ON CP.characterId = C.characterId
WHERE S.seriesId = '.$_GET['series'].'
ORDER BY appearanceOrder');
$castQuery->execute();
$castResult = $castQuery->get_result(); |
Si une âme charitable pouvait m'aider... :(
Boucle avec requête SQL- Première ligne de résultats manquante
Bonjour,
Afin d'afficher tous les résultats d'une requête SQL, j'utilise le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
$row = $castResult->fetch_assoc();
if ($row['period'] == '') {
while ($row = $castResult->fetch_assoc()) {
// Grouping actors by character
$cast[$row['charName']][] = $row['personName'];
}
foreach ($cast as $char => $persons) {
echo '<p class="castAndCrew">', implode(' -> ', $persons), " : {$char}</p>";
}
}
else {
if ($row['period'] == '0') {
echo '<p class="castAndCrew">'.$row['personName'].' : '.$row['charName'].'</p>';
}
while($row = $castResult->fetch_assoc()) {
// Grouping actors by period, then character
$cast[$row['period']][$row['charName']][] = $row['personName'];
}
foreach($cast as $period=>$chars) {
echo '<span class="castAndCrew">'.$period.'</span>';
foreach($chars as $char=>$persons) {
echo '<p class="castAndCrew">', implode(' -> ', $persons), " : {$char}</p>";
}
}
} |
Or, il me manque une ligne de résultat.
Je pense que c'est à cause de la ligne "$row = $castResult->fetch_assoc();"
Problème, si je la supprime, je ne peux plus définir ma condition... :(
Je pense également que c'est en rapport avec mon problème du sujet précédent.