moteur de recherche par mots-cl?s

Merci, ça marche parfaitement!
J'ai essayé de bidouiller pour afficher les mots-clés par ordre alphabétique dans le formulaire mais j'ai pas réussi... Faut dire que je n'y connais rien en php...
Et je me demandais aussi si sur cette même page de formulaire, il était possible d'afficher les groupes de mots-clés et listes de mots-clés sur deux colonnes au lieu d'avoir tout à la suite car quand on beaucoup de groupes, ça fait une page plutôt longue...
J'ai essayé de regarder un peu sur le net comment on fait ça mais mes compétences en php étant plus que limitées, ça me paraît assez obscur... (mais bon, je suis bien conscient que nous sommes sur une liste spip et pas php donc je vais pas insister non plus, c'est juste que ça peut améliorer la contrib peut-être...)

Merci encore en tout cas.

De: "Paul Sanches" <paul@1formatik.com>
Date: 2005/04/30 sam. PM 02:28:43 GMT+02:00
À: "'Paul Sanches'" <paul@1formatik.com>, <spip@rezo.net>
Objet: Re: [Spip] moteur de recherche par mots-cl?s

Mince la pj ne passe pas, je mets le fichier au format txt peut-être que ca
passera comme ça

@+
Paul Sanches
paul@1formatik.com

-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net] De la part de Paul
Sanches
Envoyé : samedi 30 avril 2005 14:23
À : spip@rezo.net
Objet : Re: [Spip] moteur de recherche par mots-cl?s

Salut,

Voici en pj le fichier searchresult.html corrigé, prenant en compte les
titres d'articles commençant par 10. titre de l'article par exemple.
Pour afficher les mots-clés par ordre alpha, je regarde ça cet aprem, le
fichier à modifier est inc-search.php.

Je vais essayer de refaire un package complet pour spip-contrib.net, pour
rappel l'adresse de la contrib. est
Recherche multi-critère par mots-clés - SPIP-Contrib

@+

Paul Sanches
paul@1formatik.com

<omazeas@tele2.fr> a écrit dans le message de news:
auto-000355101336@mailfe02.swip.net...
Juste un petit message qui s'adresse plus particulièrement à Paul Sanches à
propos de sa contrib de recherche d'articles via un formulaire de mots-clés.
Il devait m'envoyer une version de son package supportant les points (".")
dans les noms d'articles le week-end dernier, donc s'il a quelques instants
à me consacrer (à moins que j'ai raté son mail dans la mailing-list...).
Et puis, je voulais savoir si l'on pouvait aussi faire un affichage des
mots-clés par ordre alphabétique dans les formulaires de sa contrib... (et
peut-être encore d'autres chosdes que j'avais demandé dans mon mail...)
(Je ne suis pas chez moi donc j'ai pas les refs pour mettre un lien vers la
contrib, désolé, ou même reprendre mon ancien message)

-------------------------------------------------
Internet simplement moins cher avec Tele2 : http://www.tele2.fr
-------------------------------------------------

begin 666 searchresult.html
M(#PA+2T@/$E.0TQ54D4H9&5B=70N<&AP,RD^("TM/B -"CP_<&AP#0H-"@T*
M"0T*"21U<FP@/2!P87)S95]U<FPH)%]315)615);)U%515)97U-44DE.1R==
M*3L-"B )#0H@"21P87)A;2 ](" D=7)L6R=P871H)UT[#0H@"21P;W,@/2 P
M.PT*( DD:6YD:6-E(#T@,#L-"B )#0H@"21T;VL@/2!S=')T;VLH)'!A<F%M
M+" B)B(I.PT*"7=H:6QE("@D=&]K*2![#0H)"0D-"@D)"6EF("AS=')P;W,H
M)'1O:RPB:60B*2 ]/3T@,"D@>PT*( D)"0DD:61E>'!L;V1E(#T@97AP;&]D
M92@B/2(L("1T;VLI.PT*"0D)"6EF("AI<W-E="@D:61E>'!L;V1E6S%=*2D@
M>PT*"0D)"0DD=&%B:61;)&EN9&EC95T@/2 D:61E>'!L;V1E6S%=.PT*"0D)
M"7T-"@D)"0DD:6YD:6-E*RL[#0H)( D)?0T*"2 )"0T*"0D))'1O:R ]('-T
M<G1O:R@B)B(I.PT*"0D)#0H)?0T*"0T*"65C:&\@(CQT86)L92!A;&EG;CU<
M(F-E;G1E<EPB('=I9'1H/5PB-S8P7"(@8F]R9&5R/5PB,%PB(&)G8V]L;W(]
M7"(C1D9&1D9&7"(^/'1R/CQT9#X\9&EV(&-L87-S/5PB=&5X=%PB/B(["0T*
M"0D-"@EI9B H)&EN9&EC92 A/2 P*2!["0T*"2 ):68@*&ES<V5T*"1(5%10
M7T=%5%]605)36R=O<F1E<B==*2D@>PT*"0D))&]R9&5R(#T@)$A45%!?1T54
M7U9!4E-;)V]R9&5R)UT[#0H)"0EI9B H)&]R9&5R(#T](# I('L-"@D)"0EE
M8VAO("(\02!(4D5&/5PB+B]S96%R8VAR97-U;'0N<&AP,S\D<&%R86TF;W)D
M97(],5PB/E9O:7(@;&5S('+I<W5L=&%T<R!D92!L82!R96-H97)C:&4@8VQA
M<W/I<R!P87(@;W)D<F4@9&4@;G5MZ7)O(&1E(')U8G)I<75E/"]!/CQB<B\^
M/&)R+SXB.PT*"0D)?0T*"0D)96QS92![#0H)"0D)96-H;R B/$$@2%)%1CU<
M(BXO<V5A<F-H<F5S=6QT+G!H<#,_)'!A<F%M)F]R9&5R/3!<(CY6;VER(&QE
M<R!RZ7-U;'1A=',@9&4@;&$@<F5C:&5R8VAE(&-L87-SZ7,@<&%R(&YO;6)R
M92!D92!M;W0@8VSI/"]!/CQB<B\^/&)R+SXB.PT*"0D)?0T*"0E]#0H)"65L
M<V4@>PT*"0D)96-H;R B/$$@2%)%1CU<(BXO<V5A<F-H<F5S=6QT+G!H<#,_
M)'!A<F%M)F]R9&5R/3%<(CY6;VER(&QE<R!RZ7-U;'1A=',@9&4@;&$@<F5C
M:&5R8VAE(&-L87-SZ7,@<&%R(&]R9')E(&1E(&YU;>ER;R!D92!R=6)R:7%U
M93PO03X\8G(O/CQB<B\^(CL-"@D)?0T*"0D-"@D-"@D)#0H)"0T*"0DD;&ES
M=&ED;6]T(#T@(B@B.R -"@D))&YB;6]T(#T@8V]U;G0H)'1A8FED*3L-"@D)
M9F]R("@D:2 ](# @.R D:2 \(&-O=6YT*"1T86)I9"D@.R D:2LK*2![#0H)
M"0EI9B H)&D@(3T@," I("1L:7-T:61M;W0N/2 B+"(N)'1A8FED6R1I73L)
M#0H)"0EE;'-E("1L:7-T:61M;W0N/2 D=&%B:61;)&E=.PD-"@D)?0T*"0D-
M"@D))&QI<W1I9&UO=" N/2 B*2([#0H)"0T*"0DD<W%L(#T@(G-E;&5C="!I
M9%]M;W0L=&ET<F4@9G)O;2!S<&EP7VUO=',@=VAE<F4@:61?;6]T(&EN("1L
M:7-T:61M;W0@9W)O=7 @8GD@:61?;6]T+'1I=')E(CL-"@D)#0H)"0T*"0DD
M<F5S=6QT(#T@;7ES<6Q?<75E<GDH)'-Q;"D[#0H)"0T*"0D-"@D))'1A8FUO
M=" ]("(\=&%B;&4@86QI9VX]7")C96YT97)<(B!W:61T:#U<(C<U,%PB(&)O
M<F1E<CU<(C!<(CX\='(^(CL)#0H)"21N8F-O;#TP.PT*"0EI9B H)')E<W5L
M="D@>PT*"0D)"0T*"0D))&-O;7!T(#T@,#L@#0H)"0EW:&EL92 H)')O=R ]
M(&UY<W%L7V9E=&-H7V%S<V]C*"1R97-U;'0I*2![#0H)"0D)97AT<F%C="@D
M<F]W*3L-"@D)"0DO+R!I9B H)&YB8V]L/3TQ*2!N8G)E(&1E(&-O;&]N;F5S
M(&UA>"#@(&%F9FEC:&5R#0H)"0D):68@*"1N8F-O;#T],RD@>PT*"0D)"0DD
M=&%B;6]T("X]("(\+W1R/CQT<CXB.PT*"0D)"0DD;F)C;VP],#L-"@D)"0E]
M#0H)"0D))'1A8FUO=" N/2 B/'1D('=I9'1H/5PB,C4P7"(^)G)A<75O.R D
M=&ET<F4\+W1D/B([#0H)"0D))&YB8V]L("L](#$[#0H)"0E]#0H)"0EM>7-Q
M;%]F<F5E7W)E<W5L="@D<F5S=6QT*3L-"@D)?0T*"0DD=&%B;6]T("X]("(\
M+W1R/CPO=&%B;&4^(CL-"@D)#0H)"0D)#0H)"21S<6P@/2 B<V5L96-T(&-O
M=6YT*"HI(&%S(&YU;2QS<&EP7V%R=&EC;&5S+FED7V%R=&EC;&4L<W!I<%]R
M=6)R:7%U97,N:61?<G5B<FEQ=64L<W!I<%]R=6)R:7%U97,N=&ET<F4@87,@
M=&ET<F5R=6(@9G)O;2!S<&EP7V%R=&EC;&5S(&EN;F5R(&IO:6X@<W!I<%]R
M=6)R:7%U97,@;VX@<W!I<%]R=6)R:7%U97,N:61?<G5B<FEQ=64@/2!S<&EP
M7V%R=&EC;&5S+FED7W)U8G)I<75E(&EN;F5R(&IO:6X@<W!I<%]M;W1S7V%R
M=&EC;&5S(&]N('-P:7!?;6]T<U]A<G1I8VQE<RYI9%]A<G1I8VQE(#T@<W!I
M<%]A<G1I8VQE<RYI9%]A<G1I8VQE('=H97)E('-P:7!?;6]T<U]A<G1I8VQE
M<RYI9%]M;W0@:6X@)&QI<W1I9&UO="!A;F0@<W!I<%]A<G1I8VQE<RYS=&%T
M=70@;&EK92 G<'5B;&EE)R!G<F]U<"!B>2!S<&EP7V%R=&EC;&5S+FED7V%R
M=&EC;&4B.PT*"0EI9B H)&]R9&5R(#T](#$I('L-"@D)("1S<6P@+CT@(B!O
M<F1E<B!B>2!S<&EP7W)U8G)I<75E<RYI9%]R=6)R:7%U92QN=6T@9&5S8RQS
M<&EP7VUO='-?87)T:6-L97,N:61?;6]T+'-P:7!?87)T:6-L97,N9&%T92!D
M97-C(CL-"@D)( T*"0E]#0H)"65L<V4@>PD-"@D)"21S<6P@+CT@(B!O<F1E
M<B!B>2!N=6T@9&5S8RQS<&EP7W)U8G)I<75E<RYI9%]R=6)R:7%U92QS<&EP
M7VUO='-?87)T:6-L97,N:61?;6]T+'-P:7!?87)T:6-L97,N9&%T92!D97-C
M(CL)#0H)"7T-"@D)#0H-"@D))')E<W5L=" ](&UY<W%L7W%U97)Y*"1S<6PI
M.PT*"0D-"@D))&YB87)T(#T@;7ES<6Q?;G5M7W)O=W,H)')E<W5L="D[#0H)
M"0T*"0EE8VAO("(D;F)A<G0@87)T:6-L97,@=')O=7;I<R!P;W5R(&QE<R!M
M;W1S(#H\8G(^)'1A8FUO="(["0T*"0D-"@D):68@*"1R97-U;'0I('L-"@D)
M"65C:&\@(CQB<CXB.PT*"0D))&ED<G5B(#T@,#L-"@D)"6EF("@D;F)A<G0@
M(3T@,"D@96-H;R B4NES=6QT871S(#H\8G(^(CL@#0H)"0DD;&ES=&ED;6]T
M,B ](B([#0H)"0DD;&ES=&ED;6]T<')E8R ](B([#0H)"0EW:&EL92 H)')O
M=R ](&UY<W%L7V9E=&-H7V%S<V]C*"1R97-U;'0I*2![#0H)"0D)#0H)"0D)
M97AT<F%C="@D<F]W*3L-"@D):68@*"1I9')U8B A/2 D:61?<G5B<FEQ=64I
M('L-"@D)"0D)#0H)"0D)"6EF("@H)'!O<W!O:6YT(#T@<W1R<G!O<R@D=&ET
M<F5R=6(L(BX@(BDI(#T]/2!&04Q312D@>PT*"0D)"0D)("1T:71R97)U8C(]
M)'1I=')E<G5B.PT*"0D)"0E]#0H)"0D)"65L<V4@>PT*"0D)"0D):68@*&ES
M7VYU;65R:6,H<W5B<W1R*"1T:71R97)U8BPP+"1P;W-P;VEN="DI(#T](&9A
M;'-E*0T*"0D)"0D)"21T:71R97)U8C(])'1I=')E<G5B.PT*"0D)"0D)96QS
M92 -"@D)"0D)"0DD=&ET<F5R=6(R(#T@<W5B<W1R*"1T:71R97)U8BPD<&]S
M<&]I;G0@*R R*3L-"@D)"0D)?0T*"0D)"0T*"0D)"0EI9B H)&]R9&5R(#T]
M(#$I('L-"@D)"0D)"0EE8VAO("(\8G(^/&$@:')E9CU<(BXO<G5B<FEQ=64N
M<&AP,S]I9%]R=6)R:7%U93TD:61?<G5B<FEQ=65<(CXD=&ET<F5R=6(R(#H\
M+V$^/&)R/B([#0H)"0D)"7T-"@T*"0D)"7T-"@D)"0D-"@D)"0DD<W%L,B ]
M(")S96QE8W0@<W!I<%]A<G1I8VQE<RYI9%]A<G1I8VQE(&%S(&%R=&ED+"!S
M<&EP7V%R=&EC;&5S+G1I=')E(&%S('1I=')E87)T+"!S<&EP7V%R=&EC;&5S
M+F1A=&4L<W!I<%]M;W1S+FED7VUO="P@<W!I<%]M;W1S+G1I=')E(&%S('1I
M=')E;6]T(&9R;VT@<W!I<%]A<G1I8VQE<R!I;FYE<B!J;VEN('-P:7!?;6]T
M<U]A<G1I8VQE<R!O;B!S<&EP7VUO='-?87)T:6-L97,N:61?87)T:6-L92 ]
M('-P:7!?87)T:6-L97,N:61?87)T:6-L92!I;FYE<B!J;VEN('-P:7!?;6]T
M<R!O;B!S<&EP7VUO=',N:61?;6]T/7-P:7!?;6]T<U]A<G1I8VQE<RYI9%]M
M;W0@=VAE<F4@<W!I<%]A<G1I8VQE<RYI9%]A<G1I8VQE(#T@)&ED7V%R=&EC
M;&4@86YD('-P:7!?;6]T<U]A<G1I8VQE<RYI9%]M;W0@:6X@)&QI<W1I9&UO
M="!A;F0@<W1A='5T(&QI:V4@)W!U8FQI92<@;W)D97(@8GD@<W!I<%]M;W1S
M+FED7VUO="([#0H)"0D))')E<W5L=#(@/2!M>7-Q;%]Q=65R>2@D<W%L,BD[
M#0H)"0D)#0H)"0D)"0D-"@D)"0EI9B H)')E<W5L=#(I('L-"@D)"0D))&QI
M<W1M;W0@/2 B(CL-"@D)"0D))'1I=')E87)T:6-L92 ]("(B.PT*"0D)"0DD
M9&%T869F:6-H(#T@(B([#0H)"0D)"21I9&%R=#TP.PT*"0D)"0EW:&EL92 H
M)')O=S(@/2!M>7-Q;%]F971C:%]A<W-O8R@D<F5S=6QT,BDI('L-"@D)"0D)
M"65X=')A8W0H)')O=S(I.PT*"0D)"0D))&QI<W1I9&UO=#(@+CT@(B1I9%]M
M;W0L(CL-"@D)"0D)"6EF("@D:61A<G0]/2 P*2![#0H)"0D)"0D))'1I=')E
M87)T:6-L92 ]("1T:71R96%R=#L-"@D)"0D)"0EI9B H(2@H)'!O<W!O:6YT
M(#T@<W1R<&]S*"1T:71R96%R=&EC;&4L)RXG*2D@/3T]($9!3%-%*2D@('L-
M"@D)"0D)"2 )"6EF("AI<U]N=6UE<FEC*'-U8G-T<B@D=&ET<F5A<G1I8VQE
M+# L)'!O<W!O:6YT*2D@/3T@=')U92D-"@D)"0D)"0D)"21T:71R96%R=&EC
M;&4@/2!S=6)S='(H)'1I=')E87)T:6-L92PD<&]S<&]I;G0@*R R*3L-"@D)
M"0D)"0D)"0D)"0D)"0T*"0D)"0D)"7T-"@D)"0D)"0EI9B H(2@H)'!O<W!O
M:6YT(#T@<W1R<&]S*"1T:71R96UO="PG+B<I*2 ]/3T@1D%,4T4I*2![#0H)
M"0D)"0D@"0EI9B H:7-?;G5M97)I8RAS=6)S='(H)'1I=')E;6]T+# L)'!O
M<W!O:6YT*2D@/3T@=')U92D-"@D)"0D)"0D)"21T:71R96UO=" ]('-U8G-T
M<B@D=&ET<F5M;W0L)'!O<W!O:6YT("L@,BD[#0H)"0D)"0D)"0T*"0D)"0D)
M"7T-"@D)"0D)"0DD9&%T869F:6-H(#T@9&%T92@B9"]M+UDB+'-T<G1O=&EM
M92@D9&%T92DI"3L-"@D)"0D)"0T*"0D)"0D)"6EF("@D;W)D97(@/3T@,2D@
M>PT*"0D)"0D)"0EE8VAO("(@)F=T.R \82!H<F5F/5PB+B]A<G1I8VQE+G!H
M<#,_:61?87)T:6-L93TD87)T:61<(CXD=&ET<F5A<G1I8VQE/"]A/B D9&%T
M869F:6-H("@B.PT*"0D)"0D)"0EE8VAO("(D=&ET<F5M;W0B.PD)#0H)"0D)
M"0D)?0T*"0D)"0D)"0T*"0D)"0D)"21L:7-T;6]T("X]("(D=&ET<F5M;W0B
M.PT*"0D)"0D)"21I9&%R=#T@,3L-"@D)"0D)"7T-"@D)"0D)"65L<V4@>PT*
M"0D)"0D)"21L:7-T;6]T("X]("(L("1T:71R96UO="([#0H)"0D)"0D):68@
M*"1O<F1E<B ]/2 Q*2![#0H)"0D)"0D)"65C:&\@(BP@)'1I=')E;6]T(CL)
M"0T*"0D)"0D)"7T-"@D)"0D)"7T-"@D)"0D)"0T*"0D)"0D)"0T*"0D)"0D)
M#0H)"0D)"7T-"@D)"0D)#0H)"0D)"6EF("@D;W)D97(@/3T@,2D@>PT*"0D)
M"0D)96-H;R B*3QB<CXB.PT*"0D)"0E]#0H)"0D)"0T*"0D)"0D-"@D)"0D)
M;7ES<6Q?9G)E95]R97-U;'0H)')E<W5L=#(I.PT*"0D)"0D-"@D)"0D):68@
M*"1O<F1E<B ]/2 P*2![#0H)"0D)"0D-"@D)"0D)"6EF("@D;&ES=&ED;6]T
M,B A/2 D;&ES=&UO9&ED<')E8RD@>PT*"0D)"0D)"65C:&\@(CQB<B O/B1L
M:7-T;6]T(#H\0E(@+SXB.PT*"0D)"0D)?0T*"0D)"0D)96-H;R B("9G=#L@
M/&$@:')E9CU<(BXO87)T:6-L92YP:' S/VED7V%R=&EC;&4])&ED7V%R=&EC
M;&5<(CXD=&ET<F5A<G1I8VQE/"]A/B D9&%T869F:6-H(CL-"@D)"0D)"65C
M:&\@(B9N8G-P.R@\82!H<F5F/5PB+B]R=6)R:7%U92YP:' S/VED7W)U8G)I
M<75E/21I9%]R=6)R:7%U95PB/B1T:71R97)U8C(\+V$^*3QB<CXB.PT*"0D)
M"0D))&QI<W1M;V1I9'!R96,@/2 D;&ES=&ED;6]T,CL-"@D)"0D)"21L:7-T
M:61M;W0R(#T@(B([#0H)"0D)"0T*"0D)"0E]#0H)"0D)#0H)"0D)?0T*"0D)
M"0T*"0D)"0T*"0D)"0T*"0D)"21I9')U8B ]("1I9%]R=6)R:7%U93L-"@D)
M"7T-"@D)"65C:&\@(CQB<CXB.PT*"0D);7ES<6Q?9G)E95]R97-U;'0H)')E
M<W5L="D[#0H)"0D-"@D)?0T*"0EE;'-E('L-"@D)"65C:&\@(CQH<CXB.PT*
M"0D)96-H;R B:6P@;B=Y(&$@<&%S(&0G87)T:6-L97,@;&GI(&%U>"!M;W1S
M(&1E(&YU;>ER;R D=&AE+" D;W)G/&)R/B([#0H)"0EE8VAO("(\:'(^(CL-
M"@D)"0D-"@D)?0T*"0D-"@E]#0H)96QS92![#0H)"65C:&\@(DUE<F-I(&1E
M(&)I96X@=F]U;&]I<B!SZ6QE8W1I;VYN97(@874@;6]I;G,@,2!M;W0@8VSI
M(2([#0H)"65C:&\@(CQB<CX\82!H<F5F/5PB:F%V87-C<FEP=#IH:7-T;W)Y
M+F)A8VLH*5PB/E)E=&]U<CPO83XB.PT*"0D-"@E]#0H)96-H;R B/"]D:78^
M/"]T9#X\+W1R/CPO=&%B;&4^(CL-"B -"B -"@T*/SX-"CPA+2T@/$E.0TQ5
24D4H9FEN+G!H<#,I/B M+3X@
`
end

<!-- <INCLURE(debut.php3)> -->
<?php

  $url = parse_url($_SERVER['QUERY_STRING']);
   
   $param = $url['path'];
   $pos = 0;
   $indice = 0;
   
   $tok = strtok($param, "&");
  while ($tok) {
      
      if (strpos($tok,"id") === 0) {
         $idexplode = explode("=", $tok);
        if (isset($idexplode[1])) {
          $tabid[$indice] = $idexplode[1];
        }
        $indice++;
       }
       
      $tok = strtok("&");
      
  }
  
  echo "<table align=\"center\" width=\"760\" border=\"0\" bgcolor=\"#FFFFFF\"><tr><td><div class=\"text\">";
    
  if ($indice != 0) {
     if (isset($HTTP_GET_VARS['order'])) {
      $order = $HTTP_GET_VARS['order'];
      if ($order == 0) {
        echo "<A HREF=\"./searchresult.php3?$param&order=1\">Voir les résultats de la recherche classés par ordre de numéro de rubrique</A><br/><br/>";
      }
      else {
        echo "<A HREF=\"./searchresult.php3?$param&order=0\">Voir les résultats de la recherche classés par nombre de mot clé</A><br/><br/>";
      }
    }
    else {
      echo "<A HREF=\"./searchresult.php3?$param&order=1\">Voir les résultats de la recherche classés par ordre de numéro de rubrique</A><br/><br/>";
    }
    
    $listidmot = "(";
    $nbmot = count($tabid);
    for ($i = 0 ; $i < count($tabid) ; $i++) {
      if ($i != 0 ) $listidmot.= ",".$tabid[$i];
      else $listidmot.= $tabid[$i];
    }
    
    $listidmot .= ")";
    
    $sql = "select id_mot,titre from spip_mots where id_mot in $listidmot group by id_mot,titre";
    
    $result = mysql_query($sql);
    
    $tabmot = "<table align=\"center\" width=\"750\" border=\"0\"><tr>";
    $nbcol=0;
    if ($result) {
        
      $compt = 0;
      while ($row = mysql_fetch_assoc($result)) {
        extract($row);
        // if ($nbcol==1) nbre de colonnes max à afficher
        if ($nbcol==3) {
          $tabmot .= "</tr><tr>";
          $nbcol=0;
        }
        $tabmot .= "<td width=\"250\">&raquo; $titre</td>";
        $nbcol += 1;
      }
      mysql_free_result($result);
    }
    $tabmot .= "</tr></table>";
    
    $sql = "select count(*) as num,spip_articles.id_article,spip_rubriques.id_rubrique,spip_rubriques.titre as titrerub from spip_articles inner join spip_rubriques on spip_rubriques.id_rubrique = spip_articles.id_rubrique inner join spip_mots_articles on spip_mots_articles.id_article = spip_articles.id_article where spip_mots_articles.id_mot in $listidmot and spip_articles.statut like 'publie' group by spip_articles.id_article";
    if ($order == 1) {
     $sql .= " order by spip_rubriques.id_rubrique,num desc,spip_mots_articles.id_mot,spip_articles.date desc";
     
    }
    else {
      $sql .= " order by num desc,spip_rubriques.id_rubrique,spip_mots_articles.id_mot,spip_articles.date desc";
    }
    
    $result = mysql_query($sql);
    
    $nbart = mysql_num_rows($result);
    
    echo "$nbart articles trouvés pour les mots :<br>$tabmot";
    
    if ($result) {
      echo "<br>";
      $idrub = 0;
      if ($nbart != 0) echo "Résultats :<br>";
      $listidmot2 ="";
      $listidmotprec ="";
      while ($row = mysql_fetch_assoc($result)) {
        
        extract($row);
    if ($idrub != $id_rubrique) {
          
          if (($pospoint = strrpos($titrerub,". ")) === FALSE) {
             $titrerub2=$titrerub;
          }
          else {
            if (is_numeric(substr($titrerub,0,$pospoint)) == false)
              $titrerub2=$titrerub;
            else
              $titrerub2 = substr($titrerub,$pospoint + 2);
          }
        
          if ($order == 1) {
              echo "<br><a href=\"./rubrique.php3?id_rubrique=$id_rubrique\">$titrerub2 :</a><br>";
          }

        }
        
        $sql2 = "select spip_articles.id_article as artid, spip_articles.titre as titreart, spip_articles.date,spip_mots.id_mot, spip_mots.titre as titremot from spip_articles inner join spip_mots_articles on spip_mots_articles.id_article = spip_articles.id_article inner join spip_mots on spip_mots.id_mot=spip_mots_articles.id_mot where spip_articles.id_article = $id_article and spip_mots_articles.id_mot in $listidmot and statut like 'publie' order by spip_mots.id_mot";
        $result2 = mysql_query($sql2);
        
        if ($result2) {
          $listmot = "";
          $titrearticle = "";
          $dataffich = "";
          $idart=0;
          while ($row2 = mysql_fetch_assoc($result2)) {
            extract($row2);
            $listidmot2 .= "$id_mot,";
            if ($idart== 0) {
              $titrearticle = $titreart;
              if (!(($pospoint = strpos($titrearticle,'.')) === FALSE)) {
                 if (is_numeric(substr($titrearticle,0,$pospoint)) == true)
                  $titrearticle = substr($titrearticle,$pospoint + 2);
                              
              }
              if (!(($pospoint = strpos($titremot,'.')) === FALSE)) {
                 if (is_numeric(substr($titremot,0,$pospoint)) == true)
                  $titremot = substr($titremot,$pospoint + 2);
                
              }
              $dataffich = date("d/m/Y",strtotime($date)) ;
            
              if ($order == 1) {
                echo " &gt; <a href=\"./article.php3?id_article=$artid\">$titrearticle</a> $dataffich (";
                echo "$titremot";
              }
              
              $listmot .= "$titremot";
              $idart= 1;
            }
            else {
              $listmot .= ", $titremot";
              if ($order == 1) {
                echo ", $titremot";
              }
            }
            
          }
          
          if ($order == 1) {
            echo ")<br>";
          }
          
          mysql_free_result($result2);
          
          if ($order == 0) {
            
            if ($listidmot2 != $listmodidprec) {
              echo "<br />$listmot :<BR />";
            }
            echo " &gt; <a href=\"./article.php3?id_article=$id_article\">$titrearticle</a> $dataffich";
            echo "&nbsp;(<a href=\"./rubrique.php3?id_rubrique=$id_rubrique\">$titrerub2</a>)<br>";
            $listmodidprec = $listidmot2;
            $listidmot2 = "";
          
          }
        
        }
        
        $idrub = $id_rubrique;
      }
      echo "<br>";
      mysql_free_result($result);
      
    }
    else {
      echo "<hr>";
      echo "il n'y a pas d'articles lié aux mots de numéro $the, $org<br>";
      echo "<hr>";
        
    }
    
  }
  else {
    echo "Merci de bien vouloir sélectionner au moins 1 mot clé!";
    echo "<br><a href=\"javascript:history.back()\">Retour</a>";
    
  }
  echo "</div></td></tr></table>";

?>
<!-- <INCLURE(fin.php3)> -->
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

-------------------------------------------------
Internet simplement moins cher avec Tele2 : http://www.tele2.fr
-------------------------------------------------

Salut,

J’ai encore essayé de bidouiller le code du fichier inc-research.php mais je n’ai toujours pas réussi à afficher les mots-clés (et groupes de mots-clés) par ordre alphabétique, ni à les afficher sur 2 ou 3 colonnes au lieu d’une seule qui produit une page très longue avec le bouton « valider » tout en bas…
Et puis, je cherche également à ne pas afficher les résultats validant uniquement un mot-clé quand plusieurs sont sélectionnés (actuellement, searchresult.html (voir ci-dessous) affiche toutes les combinaisons possibles, ce qui fait une liste très longue d’articles pour une valeur informative peu intéressante dans mon cas pour ceux correspondant à 1 seul mot). J’ai beau chercher dans le code php, je ne vois pas ce qu’il faudrait modifier surtout que c’est un peu de l’hébreu pour moi (et je ne parle pas l’hébreu).

Merci d’avance pour toute aide,

Olivier

wrote:

Pour le classement alphabétique, j’ai trouvé comment faire :

Il faut ajouter « order by spip_groupes_mots.titre, spip_mots.titre » à la fin des 2 requetes $sql.

Par contre, pour l’affichage en colonnes des groupes pour la recherche et le non-affichage des résultats correspondant à un seul des mots-clés, c’est au-delà de mes connaissances…

omazeas wrote: