combiner plusieurs conditions dans un foreach
Posté : 13 juil. 2011, 18:43
Bonjour à tous,
Je parse en php simplexml un fichier xml dont voici un extrait.
Je cherche à créer une boucle qui m'afficherait par exemple tous les programmes dont l'attribut start commence par xxxxx et dont l'attribut channel est égal à PLU2.kazer.org.
J'ai essayé avec un foreach en utilisant pour combiner les conditions la barre verticale |
Le problème est qu'au lieu d'afficher les programmes dont la date commence par xxxx ET dont la chaine est yyyy, cela m'affiche d'une part tous les prog dont la date commence par xxxx ET d'autre part dont la chaine est yyy
Voici mon code php avec le foreach
Quelqu'un sait il comment combiner ces 2 conditions comme je le souhaites?
Merci d'avance!
Je parse en php simplexml un fichier xml dont voici un extrait.
Code : Tout sélectionner
<programme start="20110713163000 +0200" stop="20110713165500 +0200" channel="CLU1.kazer.org">
<title>Les sorciers de Waverly Place</title>
<sub-title>Magie Tech en péril</sub-title>
<desc>Après s'être inscrite à Magie Tech, Alex se rend compte que son nouveau béguin, Ronald, a kidnappé Dean. Elle s'allie à Justin pour essayer d'empêcher que Magie Tech ne tombe entre les mains de Ronald et de son père maléfique... </desc>
<credits><actor role="Max Russo">Jake T Austin</actor><actor role="Alex Russo">Selena Gomez</actor><actor role="Justin Russo">David Henrie</actor><actor role="Harper">Jennifer Stone</actor><actor role="Theresa Russo">Maria Canals</actor><actor role="Jerry Russo">David DeLuise</actor><actor role="Dean">Daniel Samonas</actor><actor role="Ronald">Chad Duell</actor> </credits>
<date>2008</date>
<category lang="fr">Série</category>
<length units="minutes">25</length>
<episode-num system="xmltv_ns">1.6/30.</episode-num>
<video><aspect>4:3</aspect></video>
</programme> J'ai essayé avec un foreach en utilisant pour combiner les conditions la barre verticale |
Le problème est qu'au lieu d'afficher les programmes dont la date commence par xxxx ET dont la chaine est yyyy, cela m'affiche d'une part tous les prog dont la date commence par xxxx ET d'autre part dont la chaine est yyy
Voici mon code php avec le foreach
Code : Tout sélectionner
$xml = 'monfichier.xml';
$flux = simplexml_load_file($xml);
foreach($flux->xpath("//programme[starts-with(@start, '2011071320')] | //programme[@channel='PLU2.kazer.org" ) as $programme){
echo $programme->title.' / ';
echo $programme->sub-title.' / ';
echo $programme["start"].' / ';
echo $programme["stop"].' / ';
echo $programme["channel"].' / ';
echo $programme->desc.'<br />';
}Quelqu'un sait il comment combiner ces 2 conditions comme je le souhaites?
Merci d'avance!