PHP et SPIP

Re bonjour,
Je reformule plus clairement ma demande de l’autre fois (;).
Voici mon problème en mots :

Je selectionne a partir d’une liste deroulant un mot clef (= un département). Puis je le passe sur la page des résultats de la recherche qui est construite de la façon suivante :

A l’aide d’une boucle récursive j’affiche l’arborescence du secteur « Stage » (id=2) de mon architecture
Ensuite si il y a des articles correspondant à un mot clé donné (qui est passé via une liste déroulante de la page précédente), j’affiche en dessous de la rubrique le nombre d’item correspondant à la recherche contenus dans cette rubrique puis j’affiche les articles.

Mes boucles imbriquées fonctionnent parfaitement bien, mais il y a un cas où ce n’est pas joli ni efficace, c’est si pour un département il n’y a pas d’article associé, alors je me retrouve bêtement avec l’arborescence du secteur 2 toute vide.

Donc en gros je voudrais l’affichage actuel (avec arborescence) si il y a au moins un article et une phrase du type « il n’y a pas de stage dans votre département » si il n’y a pas d’article du tout associé au département dans le secteur.

J’ai essayé de regler le probleme entièrement en SPIP mais comme j’y arrive pas j’ai mis un peu de php.
Voici ce que j’ai écrit :

Sur la page d’affichage des résultats de la recherche :


<BOUCLE_departement(MOTS){id_mot}>
<BOUCLE_secteurs3(RUBRIQUES){id_rubrique=2}><BOUCLE_testarticle(ARTICLES){id_mot}{branche}></BOUCLE_testarticle>****<?php
$nombre="#TOTAL_BOUCLE";
if ($nombre==0)
{echo « Il n’y a pas de propositions de stage dans le département demandé »;}
else
{include ‹ structureetstages.php3?id_mot=#ID_MOT ›;}

?><//B_testarticle**></BOUCLE_secteurs3></BOUCLE_departement>**

structureetstages.php3 renvoit sur structureetstages.html

qui reprend la boucle initiale (j’enleve toutes les balises liées à de la mise en page pour faciliter la lecture):

<table width=« 800 » border=« 0 » summary="">

<td bgcolor="#CCFFFF" align=« center » valign=« middle »><BOUCLE_departement(MOTS){id_motStages et cours pour
<?php
$annee=date(« Y »);(
$annee
);
print($annee);
?> dans le département #TITRE****


<BOUCLE_secteurs2(RUBRIQUES){id_rubrique=2}>

<B_rubriques2>

<BOUCLE_rubriques2(RUBRIQUES){id_parent}>
#TITRE

<BOUCLE_articles1(ARTICLES){id_rubrique}{par date}{inverse}{age_redac<=0}{id_mot}></BOUCLE_articles1>****<?php
$nombre="#TOTAL_BOUCLE";
if ($nombre==0);
else
echo "Il y a $nombre proposition(s) dans cette rubrique";
?><//B_articles1**>

**
<B_articles>
<BOUCLE_articles(ARTICLES){id_rubrique}{par date}{inverse}{age_redac<=0}{id_mot}>
<BOUCLE_motsliesarticle(MOTS){id_article}{id_groupe=3}>#TITRE </BOUCLE_motsliesarticle>

#SURTITRE #TITRE #SOUSTITRE #DESCRIPTIF #CHAPO #TEXTE </BOUCLE_articles>
</B_articles><//B_articles**><BOUCLE_sous_rubriques2(BOUCLE_rubriques2)></BOUCLE_sous_rubriques2>**

</BOUCLE_rubriques2>

</B_rubriques2>

</BOUCLE_secteurs2>

</BOUCLE_departement>


Mes lignes avec le PHP marchent quand il n’y a pas d’article, en revnache j’ai le message d’erreur quand je test avec un département comme Paris où iul y a des articles publiés, suivant :

Warning: main(structureetstages.php3?id_mot=86): failed to open stream: No such file or directory in /home/jongleri/www/SPIP/CACHE/0/SPI-rec-86-9-10.a428f4 on line 523

Warning: main(): Failed opening ‹ structureetstages.php3?id_mot=86 › for inclusion (include_path=’.:/usr/local/lib/php’) in /home/jongleri/www/SPIP/CACHE/0/SPI-rec-86-9-10.a428f4 on line 523

Les pages sont en test consultables sur :
http://www.jonglerie-diffusion.com/SPIP/essaisstage2.php3

Il faut sélecetionner un département puis cliquer sur le bouton ?

J’espère que cette nouvelle formulation, plus claire va permettre à ce message d’avoir un début de réponse :slight_smile:
Je suis débutante en php aussi mes lignes sont peut etre erronées. Merci d’avance pour votre aide
S