Tu as peut être résolu ton problème depuis longtemps mais bon, je me
lance quand même...
Donc, d'après ce que j'ai compris, tu veux tous les bouquins du même
auteur... Hmmm à mon avis, va falloir passer par du PHP comme j'ai du le
faire pour mon site afin d'afficher les jeux pour une console donnée (ah
oui, je gère un site de jeux vidéo, merci à l'auteur du tutoriel avancé
de sPIP
)...
Tout d'abord, tu fais ton squellette normalement en HTML. Quand tu
arrives à la boucle gérant les auteurs, tu mets le nom d'un des auteurs
de ta base.
Par exemple:
<BOUCLE_livres(RUBRIQUES){id_rubrique}>
<BOUCLE_auteur(MOTS){titre_mot=Maupassant}>
<BOUCLE_autresLivres(RUBRIQUES){id_mot}{","}>
#TITRE
</BOUCLE_autresLivres>
</BOUCLE_auteur>
</BOUCLE_livres>
Normalement, ça doit te sortir tous les livres de cet auteur particulier...
Maintenant, l'astuce, ça va être de réécrire le squelette dynamiquement
pour chaque auteur...
Là, il faut que tu sélectionne le texte jusqu'au premier =. Normalement
ça doit donner ça:
<BOUCLE_livres(RUBRIQUES){id_rubrique}>
<BOUCLE_auteur(MOTS){titre_mot=
Et tu enregistre ça sous auteurs_debut.txt (ou un autre nom, libre à toi).
Maintenant, tu sélectionne le texte après le nom de l'auteur comme ceci:
}>
<BOUCLE_autresLivres(RUBRIQUES){id_mot}{","}>
#TITRE
</BOUCLE_autresLivres>
</BOUCLE_auteur>
</BOUCLE_livres>
Et tu enregistre sous auteurs_fin.txt.
Et c'est là qu'intervient PHP...
Tu supprimes tout ce qu'il y a dans ton squellette (normalement, tout ce
qu'il y a avant le nom de l'auteur que tu veux est dans le fichier
auteurs_debut.txt et tout ce qu'il y a après dans auteurs_fin.txt), et
tu remplace le texte par ce code:
<?php
//Ouverture des fichiers
$fpdebut=fopen("auteurs_debut.txt","r");
$fpfin=fopen("auteurs_fin.txt","r");
$fp=fopen("auteursGene.html","w");
//Premier morceau
while(!feof($fpdebut))
fputs($fp,fgets($fpdebut,filesize("auteurs_debut.txt")));
//La variable à changer
fputs($fp,$auteurs);
//La fin
while(!feof($fpfin))
fputs($fp,fgets($fpfin,filesize("auteurs_fin.txt")));
//fermture des fichiers
fclose($fpdebut);
fclose($fpfin);
fclose($fp);
?>
<INCLURE(auteursGene.php)>
Donc là, normalement, tu as:
auteurs.html qui contient le code ci dessus
auteurs.php qui est le fichier PHP normal. D'ailleurs, sur ce fichier
là, il faut que tu mettes le cache sur 0, sinon, le visiteur n'aura pas
forcément la page demandée.
auteurs_debut.txt qui contient le début de ton squellette et
auteurs_fin.txt qui contient la fin...
Maintenant, il faut que tu créé le fichier PHP du couple auteursGene
avec le cache sur 0 aussi. Et tu créé un fichier auteursGene.html vide.
Et une fois ceci fait, dans les liens, il faut que ce soit de la forme
http://tonsite.com/auteurs.php?auteurs=Maupassant pour que ça fonctionne...
Ah oui, n'oublie pas de donner les droits en écritures sur le fichier
auteursGene.php sinon, PHP va raler pour les droits d'accès. Et je sais
de quoi je parle.
Et comme je suis sympa, je te donne un exemple de boucle pour générer le
lien comme il faut:
<BOUCLE_livre(RUBRIQUES){id_rubrique}>
<BOUCLE_auteurs(MOTS){type=auteurs}>
<BOUCLE_autresLivres(RUBRIQUES){id_mot}>
<a href=auteurs.php?
<BOUCLE_nomAuteur(MOTS){id_rubrique}>
#TITRE>Autres livres pour #TITRE
</BOUCLE_nomAuteur>
</BOUCLE_autresLivres>
</BOUCLE_auteurs>
</BOUCLE_livre>
Par contre, ce code ne fonctionne que si il n'y a qu'un auteur par
bouquin... A toi de l'adapter si il y en a plusieurs...
J'espère que ça t'aidera.