Page 1 sur 1

Affichage d'une liste sous conditions

Posté : 17 juin 2023, 20:29
par Neelix
Bonsoir,

Je cherche à afficher la distribution d'un série télévisée en fonction de critères particulier

L'affichage standard se fait comme ceci:

ACTEUR : ROLE
ACTEUR remplacé par ACTEUR remplacé par ... : ROLE


Dans certaines séries, la distribution est affichée par période :

ACTEUR : ROLE (acteur principal qui est apparu dans toutes les périodes)
PERIODE
ACTEUR : ROLE
ACTEUR remplacé par ACTEUR remplacé par ... : ROLE


Voila mon code:
<?php
	$cast = []; // Tableau associatif de tableaux [personnage => [acteurs]]
	while ($row = $castResult->fetch_assoc()) {
		$cast[$row['charName']][] = $row['personName'];
	}
	foreach ($cast as $char => $persons) {
    		echo '<p class="castAndCrew">', implode(' remplacé par ', $persons), " : {$char}</p>";
	}
?>	
Et ma requête:
$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();
J'espère trouver une âme charitable qui puisse m'aider.

Re: Affichage d'une liste sous conditions

Posté : 17 juin 2023, 23:40
par two3d
Je cherche à afficher la distribution d'un série télévisée en fonction de critères particulier
Peux tu être plus explicite sur ce que tu souhaite faire s'il te plaît ?

Quels sont tes "critères particulier" ?

Re: Affichage d'une liste sous conditions

Posté : 18 juin 2023, 08:42
par Neelix
Les critères sont les périodes, s'il y en a, et dans ce cas, l'acteur principale, qui aura été présent toute la série,
figurera en premier, ainsi que le fait que, dans certaines séries, certains acteurs peuvent en avoir remplacé
d'autres dans un même rôle, comme je décrit ci-dessus.

Re: Affichage d'une liste sous conditions

Posté : 18 juin 2023, 08:58
par two3d
Pour les "périodes" tu peux faire une recherche (si je comprends bien le mot "périodes") avec BETWEEN.

Re: Affichage d'une liste sous conditions

Posté : 18 juin 2023, 15:52
par or 1
il y un champ period dans la requete sql.

quel est le contenu des tables quand il y a une période ?

Re: Affichage d'une liste sous conditions

Posté : 20 juin 2023, 08:31
par Neelix
Bonjour,
Le champ period sont des varchar qui contiennent les périodes sous la forme "1969" ou "1971-1975" par exemple

Re: Affichage d'une liste sous conditions

Posté : 20 juin 2023, 08:54
par two3d

Code : Tout sélectionner

WHERE SUBSTR(period, 1, 4) = '1969' OR (SUBSTR(period, 1, 4) >= '1971' AND SUBSTR(period, 6) <= '1975')
https://sql.sh/fonctions/substring