|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232 |
- <!doctype html>
- <html lang=fr>
- <head>
- <!-- Always define the charset before the title -->
- <meta charset=utf-8>
- <title>Afficher les x derniers billets de Dotclear en page d'accueil — Biologeek — David Larlet</title>
- <!-- Define a viewport to mobile devices to use - telling the browser to assume that the page is as wide as the device (width=device-width) and setting the initial page zoom level to be 1 (initial-scale=1.0) -->
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <!-- Fake favicon, to avoid extra request to the server -->
- <link rel="icon" href="data:;base64,iVBORw0KGgo=">
- <link type="application/atom+xml" rel="alternate" title="Feed" href="/david/log/" />
- <link rel="manifest" href="/manifest.json">
-
- <link rel="stylesheet" href="/static/david/css/larlet-david-_J6Rv.css" data-instant-track />
-
- <noscript>
- <style type="text/css">
- /* Otherwise fonts are loaded by JS for faster initial rendering. See scripts at the bottom. */
- body {
- font-family: 'EquityTextB', serif;
- }
- h1, h2, h3, h4, h5, h6, time, nav a, nav a:link, nav a:visited {
- font-family: 'EquityCapsB', sans-serif;
- font-variant: normal;
- }
- </style>
- </noscript>
-
- <!-- Canonical URL for SEO purposes -->
- <link rel="canonical" href="https://larlet.fr/david/biologeek/archives/20050430-afficher-les-x-derniers-billets-de-dotclear-en-page-daccueil">
-
- </head>
- <body>
- <div>
-
- <header>
- <nav>
- <p>
- <small>
- Je suis <a href="/david/" title="Profil public">David Larlet</a>, <a href="/david/pro/" title="Activité professionnelle">artisan</a> du web qui vous <a href="/david/pro/accompagnement/" title="Activité d’accompagnement">accompagne</a><span class="more-infos"> dans l’acquisition de savoirs pour concevoir des <a href="/david/pro/produits-essentiels/" title="Qu’est-ce qu’un produit essentiel ?">produits essentiels</a></span>. <span class="more-more-infos">Discutons ensemble d’une <a href="/david/pro/devis/" title="En savoir plus">non-demande de devis</a>.</span> Je partage ici mes <a href="/david/blog/" title="Expériences bienveillantes">réflexions</a> et <a href="/david/correspondances/2017/" title="Lettres hebdomadaires">correspondances</a>.
- </small>
- </p>
- </nav>
- </header>
-
-
- <section>
- <h1 property="schema:name">Afficher les x derniers billets de Dotclear en page d'accueil</h1>
- <article typeof="schema:BlogPosting">
- <div property="schema:articleBody">
- <img src="/static/david/biologeek/images/logos/dotclear.png" alt="vignette" style="float:left; margin: 0.5em 1em;" property="schema:thumbnailUrl" />
- <p>J'ai récemment appris qu'il y avait des personnes encore plus faignantes que moi dans l'informatique. C'est sûr ça fait plaisir (et ça rassure), mais ça aide pas quand on cherche quelque chose qui a déjà été fait ! Donc voila, je ne sais pas si ça a déjà été codé et documenté quelque part mais si ça peut servir à quelques uns d'entre vous, c'est déjà ça :-)</p>
-
- <h2>Pour ceux qui sont pressés</h2>
-
- <p>Il suffit de rajouter ce petit bout de code <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> à votre page d'accueil en vérifiant que la troisième ligne contient bien le chemin vers votre fichier de configuration de Dotclear, normalement si tout se passe bien vous pouvez voir ce que ça va donner en consultant la page d'accueil de ce site.</p>
-
- <pre><?php
- define('CONF_ONLY','1');
- include('./dotclear/conf/config.php');
-
- @ $db = mysql_pconnect(DB_HOST,DB_USER,DB_PASS);
- if(!$db) { echo 'Erreur de connexion'; exit; }
-
- mysql_select_db(DB_DBASE);
- $query =
- ' SELECT post_id,post_titre,post_titre_url,post_dt
- FROM '.DB_PREFIX.'post
- ORDER BY post_id DESC LIMIT 5';
- $result = mysql_query($query);
- $num_results = mysql_num_rows($result);
-
- echo '<ul>';
- for($i = 0 ; $i < $num_results ; $i++)
- {
- $row = mysql_fetch_array($result);
- $date = explode(' ',$row['post_dt']);
- $date_slash = str_replace('-','/',$date[0]);
- echo '<li><a href="http://www.biologeek.com/dotclear/index.php/'.$date_slash.'/'
- .$row['post_id'].'-'.$row['post_titre_url'].'" title="'
- .$row['post_titre'].'">'.$row['post_titre'].'</a></li>';
- }
- echo '</ul>';
- ?></pre>
-
- <p>Bug connu, une erreur du type :</p>
-
- <blockquote><p><strong>Warning</strong>: mysql_num_rows(): supplied argument is not a valid MySQL result resource...</p></blockquote>
-
- <p>Si vous avez cette erreur c'est très probablement que vous utilisez depuis quelques temps déjà Dotclear et que votre fichier de configuration contient la variable <strong>DB_BASE</strong> à la place de la variable <strong>DB_DBASE</strong>, il suffit alors de changer la ligne du précédent script <code>mysql_select_db(<strong>DB_DBASE</strong>);</code> en <code>mysql_select_db(<strong>DB_BASE</strong>);</code></p>
-
- <h2>Pour ceux qui veulent comprendre</h2>
-
- <ul>
- <li>La première ligne du script est peut-être la plus mystérieuse pour ceux qui n'ont jamais mis le nez dans le code de Dotclear, elle permet juste de définir <strong>CONF_ONLY</strong> pour ne pas que le fichier de configuration que l'on appelle à la ligne suivante aille chercher d'autres fichiers qui nous sont inutiles dans le cas présent.</li>
- <li>On essaye ensuite de se connecter à la base en utilisant les informations issues du fichier de configuration en renvoyant un message en cas d'échec, si vous obtenez ce message, c'est probablement dû au fait que vous n'avez pas entré le bon chemin d'accès au fichier de configuration.</li>
- <li>On sélectionne la base de donnée de votre blog et on effectue la requête qui va nous permettre d'afficher le titre des liens et de recomposer l'adresse pour accéder au billet qui lui est associé. C'est à cet endroit que vous pouvez spécifier le nombre de billets à afficher, il suffit de remplacer <strong>5</strong> par votre nombre.</li>
- <li>La liste des billets va être présentée sous forme de liste, il faut dans un premier temps formater la date pour obtenir un adresse correcte et il suffit ensuite d'appeler les bonnes colonnes du tableau renvoyé par la requête à la base de donnée.</li>
- </ul>
-
- <p>Voila pour les bases, vous pouvez maintenant modifier l'affichage à votre convenance en donnant une <strong>id</strong> à <strong><ul></strong> ou une <strong>class</strong> aux <strong><li></strong>. Si vous êtes sages la prochaine étape consistera à effectuer une petite jointure pour récupérer la catégorie associée à chaque billet :-).</p>
-
- <p><strong>[HS]</strong> : je dois avouer que c'est très déroutant de se replonger dans du <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> après avoir fait du Python, ne serait-ce que pour l'oubli des « <strong>;</strong> » , mais aussi par la nécessité de passer par des variables intermédiaires... par exemple pour la date j'avais commencé par faire : <code>str_replace('-','/',explode(' ',$row['post_dt'])[0]);</code> qui a superbement planté :D.</p>
-
- <p><strong>[ edit du 3 mai ]</strong> : finalement rajouter les catégories c'est pas très compliqué et ça ne mérite pas un nouveau billet :-)</p>
-
- <h2>Associer le nom des catégories aux derniers billets</h2>
-
- <p>Il y a deux lignes à changer, la première concerne la requête qui doit effectuer une jointure entre la table <strong>post</strong> et la table <strong>catégorie</strong> :</p>
-
- <pre>$query =
- ' SELECT post_id,post_titre,post_titre_url,post_dt
- FROM '.DB_PREFIX.'post
- ORDER BY post_id DESC LIMIT 5';</pre>
-
- <p>devient donc :</p>
-
- <pre>$query =
- ' SELECT post.post_id,post.post_titre,post.post_titre_url,post.post_dt,cat.cat_libelle
- FROM '.DB_PREFIX.'post AS post, '.DB_PREFIX.'categorie AS cat
- WHERE post.cat_id = cat.cat_id
- ORDER BY post.post_id DESC LIMIT 5';</pre>
-
- <p>Vous pouvez remarquer la création d'alias (AS) permettant de générer une requête plus lisible, ici on fait une jointure entre le cat_id de la table post et celui de la table catégorie.</p>
-
- <p>Ensuite, il ne reste plus qu'à afficher le libellé de la catégorie du billet de la façon suivante :</p>
-
- <pre>echo '<li><a href="http://www.biologeek.com/journal/index.php/'.$date_slash.'/'
- .$row['post_id'].'-'.$row['post_titre_url'].'" title="'
- .$row['post_titre'].'">['.$row['cat_libelle'].'] '.$row['post_titre'].'</a></li>';</pre>
-
- <p>Et voila, le résultat est toujours consultable en page d'accueil du site.</p>
- </div>
- </article>
- <footer>
- <h6 property="schema:datePublished">— 30/04/2005</h6>
- </footer>
- </section>
- <section>
- <div>
- <h3>Articles peut-être en rapport</h3>
- <ul>
- <li><a href="/david/biologeek/archives/20070418-myopenid-propose-des-solutions-interessantes-contre-le-phishing/" title="Accès à myOpenID propose des solutions intéressantes contre le phishing">myOpenID propose des solutions intéressantes contre le phishing</a></li>
- <li><a href="/david/biologeek/archives/20070104-comment-utiliser-openid-la-solution-d-identification-tant-attendue/" title="Accès à ★ Comment utiliser OpenID, la solution d'identification tant attendue">★ Comment utiliser OpenID, la solution d'identification tant attendue</a></li>
- <li><a href="/david/biologeek/archives/20050209-magpie-rss-installation-et-utilisations-en-tout-genre-du-parser-php/" title="Accès à ★ Magpie RSS, installation et utilisation(s) en tout genre du parser PHP">★ Magpie RSS, installation et utilisation(s) en tout genre du parser PHP</a></li>
- </ul>
- </div>
- </section>
- <section>
- <div id="comments">
- <h3>Commentaires</h3>
-
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">pickupjojo</span> le <span class="comment-date" property="schema:commentTime">01/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Franchement très bien ça, merci ! :-p</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">01/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Heureux d'avoir pu servir :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Siddartha</span> le <span class="comment-date" property="schema:commentTime">04/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Oula, un peu compliqué tout ca, je te propose un peu plus simple en se servant des fonctions Dotclear .. tant qu'à faire, autant ne pas ré-inventer la roue ;-)<br />
- <br />
- <?php<br />
- $rs = $blog->getLastNews(10,0);<br />
- while ($rs->fetch()) {<br />
- echo '&lt;li>&lt;a href="/index.php/'.$rs->f('postyear').'/'.$rs->f('postmonth').'/'.$rs->f('postday').'/'.$rs->f('post_id').<br />
- '-'.$rs->f('post_titre_url').'" title="'.$rs->f('post_titre').'">'.$rs->f('post_titre').'&lt;/a>&lt;/li>';<br />
- }<br />
- ?><br />
- Et en plus, en regardant le fichier functions.php, un tas d'option est présent !!<br />
- <br />
- Super le design du site, bravo !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">04/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Compliqué ?<br />
- Je rappelle que le but est d'afficher les derniers billets en page d'accueil donc on n'a pas accès aux fonctions de Dotclear...<br />
- <br />
- De plus, si tu commences à inclure des fichiers de Dotclear, il y un tas de fonctions dont tu n'as pas besoin pour ce que je veux faire, je pense que ma solution est la plus rapide, mais je peux me tromper, quel fichiers as-tu besoin d'inclure pour que ça marche ?<br />
- <br />
- Merci pour les compliments :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">eClaire</span> le <span class="comment-date" property="schema:commentTime">09/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Il me semble bien qu'en page d'accueil tu aies accès aux fonctions de dotclear grâce au mode home.<br />
- <br />
- Je m'étais inspirée d'un exemple pré fait pour faire la page d'accueil de mon site et je n'ai pas fait d'acces direct à la base de données<br />
- <br />
- En tout cas merci pour ce billet qui tombe plutôt bien étant donné que je voulais faire un rappel des derniers posts en première page.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">10/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>eClaire, il semblerait bien que l'exemple pré-fait était le mien si je ne me trompe pas ;)<br />
- cf. <a href="http://biosphere.biologeek.com/2004/06/12/4-dotclear-faire-de-sa-home-page-une-vraie-home-page--" title="http://biosphere.biologeek.com/2004/06/12/4-dotclear-faire-de-sa-home-page-une-vraie-home-page--">biosphere.biologeek.com/2...</a><br />
- <br />
- Je sais donc un peu de quoi je parle et je suis en train de mettre en place un mode home aussi... mais pas pour la page d'accueil du site, stay tunned =)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">eClaire</span> le <span class="comment-date" property="schema:commentTime">10/05/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>mdr, désolée <br />
- <br />
- je dois être un peu à l'ouest alors :'(<br />
- pour moi ta page d'accueil était la home de dotclear, m'en vais faire un somme ;)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Aquarius</span> le <span class="comment-date" property="schema:commentTime">28/10/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>J'aurai voulu savoir comment ajouter la date des posts en plus du titre.<br />
- Pourriez-vous me donner la marche à suivre ?</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">02/11/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Il suffit d'utiliser la variable $date[0] qui contient la date à reformater après selon l'affichage désiré.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Aquarius</span> le <span class="comment-date" property="schema:commentTime">09/11/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Je suis malheureusement très mauvais en php, et j'aurai voulu avoir la date comme ceci par exemple : 09 novembre 2005<br />
- <br />
- Quel est le code à ajouter ?<br />
- <br />
- Merci encore pour votre réponse.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Kelsurf</span> le <span class="comment-date" property="schema:commentTime">24/11/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Merci ça marche impeccable sauf un seul truc, je sais pas d'ou ca vient<br />
- <br />
- j'ai un probleme d'accent<br />
- <br />
- le é se transforme en é...<br />
- <br />
- si qqun a une idée</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">24/11/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>@Aquarius : bon je t'explique rapidement comment faire, ça doit se trouver détaillé un peu partout. Créer un tableau associatif entre les chiffres des mois et leur nom puis recomposer la date.<br />
- <br />
- @Kelsurf : c'est un problème d'encodage de caractères, probablement au niveau du charset utilisé...</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Scalp</span> le <span class="comment-date" property="schema:commentTime">24/11/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut, Pourquoi ca marche chez tout le monde sauf chez moi :,) moi ca m'affiche: <br />
- '; for($i = 0 ; $i < $num_results ; $i++) { $row = mysql_fetch_array($result); $date = explode(' ',$row['post_dt']); $date_slash = str_replace('-','/',$date[0]); echo ''.$row['post_titre'].'<br />
- '; } echo ''; ?><br />
- <br />
- d'ou vien l'erreur?</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">24/11/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Ça sent fortement le point d'interrogation placé au mauvais endroit :<br />
- <br />
- echo '<ul>'; c'est bon par contre<br />
- <br />
- echo '<ul?>'; ça ferme le script php et il considère la suite comme du texte...</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">AntoineD</span> le <span class="comment-date" property="schema:commentTime">18/12/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut ! Bravo pour le petit script ! C'est désormais mon premier bout de php sur mon site ! ça se fête ;)<br />
- <br />
- Mais j'ai un problème, et comme je suis un novice total en la matière... je ne trouve pas quoi modifier :'(<br />
- <br />
- Ton code me donne un lien comme ça : <br />
- <br />
- <a href="http://www.antoinedoyen.net/bouger/index.php/2005/12/16/68-nouveau-design" title="http://www.antoinedoyen.net/bouger/index.php/2005/12/16/68-nouveau-design">www.antoinedoyen.net/boug...</a><br />
- <br />
- or, moi, il me faut :<br />
- <br />
- <a href="http://www.antoinedoyen.net/bouger/index.php?2005/12/16/68-nouveau-design" title="http://www.antoinedoyen.net/bouger/index.php?2005/12/16/68-nouveau-design">www.antoinedoyen.net/boug...</a><br />
- <br />
- Bref : comment est-ce que je "faire rajouter" le petit point d'interrogation juste après .php ? Merci d'avance !<br />
- <br />
- Et encore bravo pour le code. :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">19/12/2005</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut Antoine,<br />
- <br />
- Il suffit de modifier :<br />
- echo '<li><a href="/dotclear/index.php/'.$date_slash.'/'<br />
- <br />
- en :<br />
- echo '<li><a href="/dotclear/index.php?'.$date_slash.'/'<br />
- <br />
- Bonne continuation :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Richard</span> le <span class="comment-date" property="schema:commentTime">09/03/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>merci<br />
- j'ai essaye de le pofiner pour ajouter les chapos :)<br />
- <br />
- for($i = 0 ; $i < $num_results ; $i++)<br />
- {<br />
- $row = mysql_fetch_array($result);<br />
- $date = explode(' ',$row['post_dt']);<br />
- $date_slash = str_replace('-','/',$date[0]);<br />
- <br />
- echo '<tr><br />
- <td colspan="2" align="center"><font color="#000000" size="-2" face="Tahoma, Verdana, Arial, sans-serif"><strong>'.$row['post_titre'].'</strong></font></td><br />
- </tr><br />
- <tr><br />
- <td width="50%"><font color="#000000" size="-2" face="Tahoma, Verdana, Arial, sans-serif">'.$row['post_dt'].'</font></td><br />
- <td width="50%" align="right"><font color="#FF0000" size="-2" face="Tahoma, Verdana, Arial, sans-serif"><em>'.$row['cat_libelle'].'</em></font></td><br />
- </tr><br />
- <tr><br />
- <td colspan="2"><font color="#000000" size="-2" face="Tahoma, Verdana, Arial, sans-serif">';<br />
- <br />
- function resume_xmots($MaChaine,$xmots) <br />
- { <br />
- $ChaineTab=explode(" ",$MaChaine); <br />
- for($n=0;$n<$xmots;$n++) <br />
- { <br />
- $NouvelleChaine.=" "."$ChaineTab[$n]"; <br />
- }<br />
- return $NouvelleChaine; <br />
- } <br />
- <br />
- echo resume_xmots($row['post_chapo'],20) ;<br />
- echo' ...</font></td><br />
- </tr>';<br />
- <br />
- }<br />
- <br />
- et j'obtient ca<br />
- Fatal error: Cannot redeclare resume_xmots() (previously declared in /homepages/6/d147305526/htdocs/imode/index.php:56) in /homepages/6/d147305526/htdocs/imode/index.php on line 56<br />
- :(<br />
- <br />
- ligne 56 = function resume_xmots($MaChaine,$xmots)<br />
- <br />
- aurais tu ZE solution pour un pauvre petit phpien comme moi ?</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">09/03/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Il me semble que tu as déjà défini une telle fonction avant et c'est la raison pour laquelle il ne veut pas la redéfinir... en fait tu essayes de créer une fonction dans une boucle donc la première fois ça passe et ensuite il aime pas trop. Tu devrais essayer de sortir la définition de la fonction de la boucle.<br />
- <br />
- ps : les tableaux c'est le mal ! Je te conseille de jetter un coup d'œil à <a href="http://openweb.eu.org" title="http://openweb.eu.org" rel="nofollow">openweb.eu.org</a> ;)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">veda</span> le <span class="comment-date" property="schema:commentTime">14/04/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Très pratique ce bout de script.<br />
- <br />
- J'ai par contre un souci à l'identique de Kelsurf avec le é se transformant en é...<br />
- <br />
- Je crois que c'est dû au fait que mon blog est en utf-8 comment faire?<br />
- <br />
- Le truc genant c'est qu'on récupére les derniers posts en fonction du post_id, ce qui fait que dans la liste on a même les billets qui sont offline. <br />
- <br />
- De plus j'ai l'habitude de creer une suite de billet mais de les publier dans un ordre différent.<br />
- <br />
- Il faudrait faire un select en ordonnant sur la date de publication tout en virant les billets qui sont offlines.<br />
- <br />
- Quelqu'un a une idée pour modifier le select?</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">veda</span> le <span class="comment-date" property="schema:commentTime">14/04/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>J'ai trouvé la solution:<br />
- <br />
- SELECT post_id,post_titre,post_titre_url,post_dt FROM '.'dc_'.'post WHERE post_pub = 1 ORDER BY post_dt DESC LIMIT 5';<br />
- <br />
- <br />
- Reste de problème lié à l'utf8.<br />
- <br />
- En fait je cherche à afficher ce script dans une page du forum punBB qui je crois est en ansi.<br />
- <br />
- Là par contre je ne sais pas encore palier au pb.<br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">14/04/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Pour le problème de charset, il faut soit que tu convertisse le titre des billets en iso (qui doit être utilisé par punBB) soit que tu utilises punBB en utf-8 (je sais pas si c'est possible !). Le plus simple est évidemment de convertir les titres en iso avec une fonction php.<br />
- <br />
- Tu peux essayer de trouver ton bonheur sur : <a href="http://fr.php.net/htmlentities" title="http://fr.php.net/htmlentities" rel="nofollow">fr.php.net/htmlentities</a><br />
- <br />
- Bonne continuation :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Dorian</span> le <span class="comment-date" property="schema:commentTime">04/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>>David disait : "Il suffit d'utiliser la variable $date[0] qui contient la date à reformater après selon l'affichage désiré."<br />
- <br />
- Malgré cette explication, Je ne saisi pas très bien comment formater la date... Où et comment indiquer les paramètres ?<br />
- <br />
- Sinon, le reste fonctionne très bien, merci beaucoup et bonne continuation !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">06/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Pour rajouter la date en brut (pas testé) :<br />
- <br />
- echo '<li><a href="/dotclear/index.php/'.$date_slash.'/'<br />
- .$row['post_id'].'-'.$row['post_titre_url'].'" title="'<br />
- .$row['post_titre'].'">'.date[0].' '.$row['post_titre'].'</a></li>';<br />
- <br />
- Après ça dépend comment tu veux l'afficher, généralement un peu de str_replace devrait te suffire, disons que là tu devrais l'afficher sous la forme brute qui est 06-06-06 pour aujourd'hui ;)<br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Dorian</span> le <span class="comment-date" property="schema:commentTime">06/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Entre deux j'avais trouvé une solution alternative qui consiste à décomposer la date <br />
- <br />
- sscanf($row['post_dt'], "%4s-%2s-%2s", $annee, $mois, $jour); <br />
- <br />
- puis à placer les variables ainsi créées là où je voulais les voir apparaitre.<br />
- Ca fonctionne très bien ainsi, mais je vais quand même essayer ta technique ;)<br />
- <br />
- En tout cas, merci pour ton intervention rapide :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Spy</span> le <span class="comment-date" property="schema:commentTime">08/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>et si on désire avoir les commentaires du "dit" billet ?<br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">orientation scolaire</span> le <span class="comment-date" property="schema:commentTime">22/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour, <br />
- <br />
- J'ai installé ce code, je l'ai adapté pour mon site et c'est ok. Juste deux questions :<br />
- - Est-ce possible de n'afficher la liste qu'à partir du 3ème post, c'est à dire en ne tenant pas compte des 2 permiers articles. Si oui c'est super.<br />
- Dans ce cas je vais faire un peu plus compliqué, est-ce possible de ne pas tenir compte du premier article de chaque catégorie ?<br />
- - N'étant pas très douée en Internet, je ne sais pas comment je peux retirer les petits symbole devant chaque titre (<a href="http://www.e-tud.com/une/)." title="http://www.e-tud.com/une/" rel="nofollow">www.e-tud.com/une/</a>).<br />
- <br />
- Merci d'avance et merci pour ce code très pratique.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">conseil orientation</span> le <span class="comment-date" property="schema:commentTime">22/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Ah non en fait j'ai trouvé pour ne pas tenir compte des premiers posts écrire: ORDER BY post.post_id DESC LIMIT 2, 10';<br />
- 2 représentant le nombre de post à ne pas tenir compte.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">22/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut,<br />
- <br />
- > Est-ce possible de n'afficher la liste qu'à partir du 3ème post, c'est à dire en ne tenant pas compte des 2 permiers articles. Si oui c'est super.<br />
- <br />
- Oui, tu as trouvé seul en plus, génial :)<br />
- <br />
- > Dans ce cas je vais faire un peu plus compliqué, est-ce possible de ne pas tenir compte du premier article de chaque catégorie ?<br />
- <br />
- Mmh ça c'est beaucoup plus complexe, pas impossible mais prise de tête en gros la démarche à adopter c'est de faire une requête par catégorie puis d'enlever la première entrée puis de regrouper tous les résultats de toutes les catégories pour les classer par date. C'est pas vraiment léger pour la base de données non plus... à toi de voir mais j'ai pas vraiment le temps (bon d'accord et l'envie ;) de m'y mettre là.<br />
- <br />
- > N'étant pas très douée en Internet, je ne sais pas comment je peux retirer les petits symbole devant chaque titre<br />
- <br />
- C'est dans la css (<a href="http://www.e-tud.com/une//themes/V4NY10/style.css" title="http://www.e-tud.com/une//themes/V4NY10/style.css" rel="nofollow">www.e-tud.com/une//themes...</a>), il faut retirer la ligne :<br />
- <br />
- list-style-image:url('images/ul.gif');<br />
- <br />
- dans le bloc ul{}<br />
- <br />
- Par contre ça t'enlève les images pour toutes les listes de ta page (voire de ton site) et ça les remplace par un point. Si tu souhaites aussi enlever le point, rajoute list-style-type:none; dans le même bloc. Ici aussi, les modifications s'appliquent à toutes les pages contenant la css.<br />
- <br />
- À ce sujet le code html de ton site n'est pas vraiment « propre », de bons conseils à ce sujet sont prodigués sur <a href="http://openweb.eu.org/" title="http://openweb.eu.org/" rel="nofollow">openweb.eu.org/</a></p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">conseil orientation</span> le <span class="comment-date" property="schema:commentTime">22/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Merci beaucoup pour toutes ces explications très rapides, très claires donc très efficaces.<br />
- J'irai faire un tour sur le site que tu m'indiques et pour ma requete un peu compliquée, c'était juste pour savoir, ce n'est pas grave.<br />
- Comme tu as l'air de bien t'y connaitre en Internet, saurais-tu où je peux trouver des exemples de feuille de style pour un nuage de tags ? Car j'ai installer le plugin tag, il fonctionne d'après le peu que j'ai vu, seulement le nuage s'affiche sans tenir compte des occurences des mots. De plus je voudrais limiter le nombre de mots de ce nuage.<br />
- Dans tout les cas, merci pour tout.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">22/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>> saurais-tu où je peux trouver des exemples de feuille de style pour un nuage de tags ?<br />
- <br />
- Les nuages de tags avec Dotclear sont généralement conçus pour placer des spans autour des mots-clé ressemblant à : <span class="level-X">mot-clé</span> avec X allant de 1 à 5.<br />
- <br />
- Il suffit ensuite de styler ces spans dans la feuille de style, par exemple :<br />
- <br />
- span.level-1 {font-size:60%}<br />
- span.level-2 {font-size:80%}<br />
- span.level-3 {font-size:100%}<br />
- span.level-4 {font-size:120%}<br />
- span.level-5 {font-size:140%}<br />
- <br />
- Pour les autres questions, je ne l'utilise pas donc je ne peux pas trop t'aider.<br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Polo</span> le <span class="comment-date" property="schema:commentTime">27/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Merci beaucoup, c'est exactement ce que je cherchais :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Polo</span> le <span class="comment-date" property="schema:commentTime">28/06/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>En fait j'ai la même erreur que Scalp, c'est à dire que ça m'affiche:<br />
- <br />
- '; for($i = 0 ; $i < $num_results ; $i++) { $row = mysql_fetch_array($result); $date = explode(' ',$row['post_dt']); $date_slash = str_replace('-','/',$date[0]); echo ''.$row['post_titre'].'<br />
- '; } echo ''; ?><br />
- <br />
- J'ai pourtant bien vérifier le chemin d'accès au fichier config.php, et j'ai bien '<ul>' et non pas '<ul?>'...<br />
- <br />
- As tu une idée d'où ça pourrait venir?</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Amine</span> le <span class="comment-date" property="schema:commentTime">23/07/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>j'ai mieux ;)<br />
- <br />
- <ul><br />
- <?php <br />
- $news = $blog->getLastNews(10,0);<br />
- while ($news->fetch()) :<br />
- ?><br />
- <li><a href="<?php dcPostURL(); ?>"><?php dcPostTitle(); ?></a></li><br />
- <?php endwhile; ?><br />
- </ul><br />
- <br />
- getLastNews peut etre configurée comme vous voulez! 10 pour 10 derniers articles, 0 toutes categorie..</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">23/07/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Pour cette solution il faut être dans l'environnement du blog sinon tu vas avoir du mal à récupérer l'objet $blog non ? Or, ce n'est pas l'objectif recherché ;)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Rabatjoie-tv</span> le <span class="comment-date" property="schema:commentTime">24/08/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- <br />
- J'ai essayé comme vous le proposez au dessus, de coller les lignes dans mon fichier Template. <br />
- <br />
- Les billets récents apparaissent bien SAUF QUE... C'est la pagaille totale : la mise en page est complétement remise à plat... Je vous laisse juger l'impression écran...<br />
- <br />
- <a href="http://img178.imageshack.us/img178/5725/impressecranjo9.jpg" title="http://img178.imageshack.us/img178/5725/impressecranjo9.jpg" rel="nofollow">img178.imageshack.us/img1...</a><br />
- <br />
- Si vous allez voir mon site actuellemnt, il n'y a pas de soucis de mise en page en temps normal... Le fond de l'écran doit être noir...<br />
- <br />
- Quel serait la solution ? D'où viendrait le problème ? Sur le Forum DOTCLEAR personne ne me répond...<br />
- <br />
- Merci d'avance</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Rabatjoie-tv</span> le <span class="comment-date" property="schema:commentTime">25/08/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour<br />
- <br />
- ca y est j'ai résolu le problème !<br />
- <br />
- C'est dans mon fichier template, depuis le fichier qui était original, je ne sais pas pourquoi le fichier est modifié avec des liens directs.<br />
- Par ex. quand il y avait 'rss' bien sur mon fichier ca mettait un chemain d'accès complet pour finir en '...
ss'. Bizarre<br />
- <br />
- Sinon j'ai remarqué un autre truc peut etre utile à d'autres :<br />
- <br />
- moi le lien ne devait pas être :<br />
- <br />
- href="/journal/index.php/<br />
- <br />
- Mais :<br />
- <br />
- href="/"dossier de mon blog"/index.php/<br />
- <br />
- Et sinon, où dois-je modifier si je veux mettre les 6 derniers articles et non les 5 derniers ?<br />
- <br />
- Dernière question, comment faire pour que ca mette les titres en gras ? Juste les titres, pas les catégories.<br />
- <br />
- Merci</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">25/08/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut Rabatjoie-tv,<br />
- <br />
- > Et sinon, où dois-je modifier si je veux mettre les 6 derniers articles et non les 5 derniers ?<br />
- <br />
- Il suffit de modifier la ligne où il est inscrit LIMIT 5 par LIMIT 6 dans la requête.<br />
- <br />
- > Dernière question, comment faire pour que ca mette les titres en gras ? Juste les titres, pas les catégories.<br />
- <br />
- Modifie :<br />
- <br />
- .$row['post_titre'].'">'.$row['post_titre'].'</a></li>';<br />
- <br />
- en :<br />
- <br />
- .$row['post_titre'].'"><strong>'.$row['post_titre'].'</strong></a></li>';</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">yhugo</span> le <span class="comment-date" property="schema:commentTime">28/08/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut,<br />
- <br />
- Merci David pour ce script ... je suis en train de m'en servir pour une boutique en ligne sur laquelle je travaille actuellement.<br />
- <br />
- C'est bien pratique, j'utilise DotClear pour écrire et gérer les news pour ensuite les afficher dans l'interface de la boutique ...<br />
- <br />
- Salutations<br />
- <br />
- <br />
- <br />
- yhugo</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Rabatjoie-tv</span> le <span class="comment-date" property="schema:commentTime">29/08/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Merci beaucoup David !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Jérémy</span> le <span class="comment-date" property="schema:commentTime">24/09/2006</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- très chouette mais j'ai un problème de chemin que je n'arrive pas à résoudre. C'est mon coté newbie probablement...<br />
- Voilà l'erreur quand on clique sur le lien :<br />
- <br />
- The requested URL /dotclear/index.php/2006/09/18/84-un-rapport-annuel-sur-les-bailleurs-sociaux was not found on this server.<br />
- <br />
- Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">superseb801</span> le <span class="comment-date" property="schema:commentTime">25/04/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Serieux les gars, y a personne qui peut être clair?? Franchement je suis peut-être un nab mais le php orienté objet ça me saoule à mort, il y a vingt fois trop de pages... Donc si quelqu'un pouvait dire dans quelle page exactement il faut rajouter quoi parce que c'est vraiment pas le truc sur le quel je veux passer une heure.<br />
- Je suis sur que je suis pas le seul donc si je trouve la solution je la mettrai!<br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Flavien</span> le <span class="comment-date" property="schema:commentTime">25/04/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Est-ce que ca marche aussi avec Dotclear 2 ?</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">25/04/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>@superseb801 : lis.<br />
- <br />
- @Flavien : non je ne pense pas, ou alors il faut au moins l'adapter. D'ailleurs si tu y arrives tu peux poster la solution ici.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">blog.imprimante.biz</span> le <span class="comment-date" property="schema:commentTime">29/04/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- Je confirme que le bout de code proposé dans ce billet fonctionne parfaitement !<br />
- <br />
- Le blog étant dans un sous domaine cela me permet d'afficher les titres des derniers billets sur la page d'accueil du domaine principal. Il est ensuite très facile de reconstruire une adresse asbolue pour pointer sur les billets quelque soit le mode d'affichage des url que l'on a choisi pour dotclear. Je n'ai pas installé le code pour afficher la catégorie. Il est à craindre que la jointure entre les tables post et catégorie charge un peu la base de données ...<br />
- <br />
- merci pour le code. :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Banban</span> le <span class="comment-date" property="schema:commentTime">04/05/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- <br />
- J'ai intégré ce script sur mon site et ça a l'air de fonctionner nikel...<br />
- <br />
- Le problème c'est que mon instinct grandissant de geek me pousse à aller plus loin... <br />
- <br />
- En fait je me butte à la configuration de mon blog : j'ai pour des raisons pratiques des billets hors ligne d'une catégorie qui sont utilisés pour faire des pages fixes indépendantes du système de billets... sauf que bien sûr elles apparaissent quand même dans cette liste.<br />
- En gros ce que je voudrais c'est limiter cette liste de billets à ceux en ligne... mais au niveau php je me débrouille pour le comprendre, mais l'écrire c'est une autre chose...<br />
- Serait-il possible de me donner une ligne qui fixe l'affichage de chaque ligne à une condition, que le billet soit en ligne ?<br />
- <br />
- Merci d'avance<br />
- <br />
- PS : Super blog... je viens de le découvrir par hasard, je l'ai juste survolé, mais vous pouvez être sûr qu'il restera au chand quelque part dans mes marque-pages :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">04/05/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>> Serait-il possible de me donner une ligne qui fixe l'affichage de chaque ligne à une condition, que le billet soit en ligne ?<br />
- <br />
- Tiens j'ai oublié de publier la modification que j'avais effectué pour mon cas pour n'afficher que les billets "en ligne". Voici ma requête actuelle :<br />
- <br />
- $query = "<br />
- SELECT p.post_titre AS titre, c.cat_libelle AS cat, p.post_titre_url AS url<br />
- FROM ".DB_PREFIX."post AS p, ".DB_PREFIX."categorie AS c<br />
- WHERE p.cat_id = c.cat_id AND p.post_pub = 1 ".$where."<br />
- ORDER BY p.post_dt DESC LIMIT ".$limit;<br />
- <br />
- La partie importante pour la publication est le "p.post_pub = 1". N'hésite pas à demander plus de détails si tu ne t'en sors pas.<br />
- <br />
- PS : merci :-)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Banban</span> le <span class="comment-date" property="schema:commentTime">06/05/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>> N'hésite pas à demander plus de détails<br />
- <br />
- Bon j'avoue là que je suis totalement dépassé...<br />
- <br />
- Le problème c'est déjà que je trouve plein de différences entre le code initial et celui que tu me proposes.<br />
- <br />
- Voilà ce que j'ai (le code présent dans ce billet à quelques détails près : <br />
- <br />
- <?php<br />
- define('CONF_ONLY','1');<br />
- include('/dotclear/conf/config.php');<br />
- <br />
- @ $db = mysql_pconnect(DB_HOST,DB_USER,DB_PASS);<br />
- if(!$db) { echo 'Erreur de connexion'; exit; }<br />
- <br />
- mysql_select_db(DB_DBASE);<br />
- $query =<br />
- ' SELECT post.post_id,post.post_titre,post.post_titre_url,post.post_dt,cat.cat_libelle <br />
- FROM '.DB_PREFIX.'post AS post, '.DB_PREFIX.'categorie AS cat<br />
- WHERE post.cat_id = cat.cat_id<br />
- ORDER BY post.post_id DESC LIMIT 5';<br />
- $result = mysql_query($query);<br />
- $num_results = mysql_num_rows($result);<br />
- <br />
- echo '<ul>';<br />
- for($i = 0 ; $i < $num_results ; $i++)<br />
- {<br />
- $row = mysql_fetch_array($result);<br />
- $date = explode(' ',$row['post_dt']);<br />
- $date_slash = str_replace('-','/',$date[0]);<br />
- <br />
- echo '<a href="/dotclear/index.php/?'.$date_slash.'/'<br />
- .$row['post_id'].'-'.$row['post_titre_url'].'" title="'<br />
- .$row['post_titre'].'">'.$row['post_titre'].'</a><br>';<br />
- }<br />
- echo '</ul>';<br />
- ?><br />
- <br />
- Ce qu'il y a dans le "$query" est assez différent, j'imagine que tu as juste simplifié le code, mais moi je ne m'y retrouve pas.<br />
- <br />
- Je précise que le code ci-dessus marche parfaitement à l'exception des billets hors lignes qui sont affichés au même titre que ceux en ligne.<br />
- <br />
- Encore merci de ton aide !!</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">07/05/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>En effet, donc si on se base sur ce code là, la requête devient :<br />
- <br />
- $query =<br />
- ' SELECT post.post_id,post.post_titre,post.post_titre_url,post.post_dt,cat.cat_libelle<br />
- FROM '.DB_PREFIX.'post AS post, '.DB_PREFIX.'categorie AS cat<br />
- WHERE post.cat_id = cat.cat_id AND post.post_pub = 1<br />
- ORDER BY post.post_id DESC LIMIT 5';<br />
- <br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">mirovinben</span> le <span class="comment-date" property="schema:commentTime">12/05/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>voici une version personnalisée par mes soins pour DC2. Il est destiné à mon portail qui n'est pas en UTF8 et propose les titres des billets sous forme d'une liste à puces et avec la date au format jj/mm/aaaa<br />
- <br />
- <?php<br />
- # version 1.0b<br />
- $config = '../dc2/inc/config.php';<br />
- $blogid = 'default';<br />
- $nbnews = '10';<br />
- $title = '<h4>Les billets les plus récents...</h4>';<br />
- #--------<br />
- define('CONF_ONLY','1');<br />
- include($config);<br />
- @ $db = mysql_connect(DC_DBHOST,DC_DBUSER,DC_DBPASSWORD);<br />
- if(!$db) { return; }<br />
- mysql_select_db(DC_DBNAME);<br />
- $query = <br />
- ' SELECT blog_url <br />
- FROM dc_blog <br />
- WHERE blog_id = "'.$blogid.'"';<br />
- $result = mysql_query($query);<br />
- $url = mysql_fetch_array($result);<br />
- $query = <br />
- ' SELECT * <br />
- FROM dc_post <br />
- WHERE blog_id = "'.$blogid.'" AND post_status = "1" AND post_type = "post" AND post_password IS NULL<br />
- ORDER BY post_dt DESC LIMIT '.$nbnews;<br />
- $result = mysql_query($query);<br />
- $num_results = mysql_num_rows($result);<br />
- #--------<br />
- echo $title;<br />
- echo '<ul>';<br />
- for($i = 0 ; $i < $num_results ; $i++)<br />
- {<br />
- $row = mysql_fetch_array($result);<br />
- $date = explode('-',$row['post_dt']);<br />
- $day = explode(' ',$date[2]);<br />
- echo '<li>'.$day[0].'/'.$date[1].'/'.$date[0].' : <a href="'.$url[0].'post/'.$row['post_url'].'">'.$row['post_title'].'</a></li>';<br />
- }<br />
- echo '</ul>';<br />
- ?> <br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">15/05/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Merci pour ta contribution mirovinben !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Banban</span> le <span class="comment-date" property="schema:commentTime">04/06/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Au fait, j'ai oublié de te remercier, le code du commentaire #48 fonctionne parfaitement.<br />
- <br />
- Bonne continuation !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Goudie</span> le <span class="comment-date" property="schema:commentTime">09/08/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Génial ! C'est dingue comme de vieux billets peuvent servir looongtemps ! Merci :)</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Bruno</span> le <span class="comment-date" property="schema:commentTime">27/09/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Je souhaite mettre le nom de l'auteur du billet, je suppose que l'on procède comme les catégories... mais j'aurais besoin d'un coup de main pour la syntaxe exacte</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Thomas Rudolf</span> le <span class="comment-date" property="schema:commentTime">29/10/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- <br />
- j'aimerai juste que le 1er billet apparaisse tjs en haut de tous les autres, donc en page d'accueil, mais il ne faut pas que les commentaires soient affichés.<br />
- <br />
- Je suis sous 1.2.7.1<br />
- <br />
- Merci de votre réponse</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">29/10/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour Thomas,<br />
- <br />
- Dans ce cas, je trouve qu'il est plus simple de mettre ce premier billet directement dans le template non ?<br />
- <br />
- Bon courage !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">kim</span> le <span class="comment-date" property="schema:commentTime">22/11/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>POur répondre à Sidarta...<br />
- <br />
- Il y a un p'tit bug : il manque un ptit ? dans la ligne echo ...<br />
- <br />
- <br />
- <?php<br />
- $rs = $blog->getLastNews(7,0);<br />
- while ($rs->fetch()) <br />
- {<br />
- echo '<li><a href="index.php'.'?'.$rs->f('postyear').'/'.$rs->f('postmonth').'/'.$rs->f('postday').'/'.$rs->f('post_id').<br />
- '-'.$rs->f('post_titre_url').'" title="'.$rs->f('post_titre').'">'.$rs->f('post_titre').'</a></li>';<br />
- }<br />
- ?><br />
- <br />
- Autrement 'est super simple à utiliser... trop simple peut-être ?<br />
- Moi je l'ai inclure directement dans le template.php du theme comme ceci<br />
- <div id="lastposts"><br />
- <h2>Derniers billets</h2> <br />
- <?php .... ?><br />
- </div></p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Tom</span> le <span class="comment-date" property="schema:commentTime">14/12/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- merci pour ce plugin!<br />
- J'avais un petit problème car j'utilise la personalisation des urls pour avoir url plus clean. <br />
- Mais un peu de modif et c'etait réglé!<br />
- <br />
- Par contre j'aimerais comprendre comment se passe l'ordre d'affichage des 5 derniers billets car dans mon cas il sont pas dans l'ordre!<br />
- <br />
- Merci d'avance!</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Foot-parier</span> le <span class="comment-date" property="schema:commentTime">21/12/2007</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Je me répond tous seul!<br />
- En fait cela est lié au fait que les 5 derniers billets affichés correspondent au 5 dernier crées!<br />
- Et donc non au 5 premiers billets visible sur le blog.<br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">inedit</span> le <span class="comment-date" property="schema:commentTime">11/01/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Dix Mille mercis pour ce code ; ca fait un moment que je cherchais !</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Stefano</span> le <span class="comment-date" property="schema:commentTime">08/02/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour,<br />
- J'ai la version 1.2.7. Je voudrais me compliquer la vie et afficher les derniers post du même rédacteur. voici le bout de code en question :<br />
- <br />
- $sql = 'SELECT * FROM `'.DB_PREFIX.'post` WHERE `cat_id` =3 AND `post_pub` =1 ORDER BY `post_id` DESC LIMIT 10;'; <br />
- <br />
- je voudrais donc ajouter aussi la condition 'SELECT * FROM `'.DB_PREFIX.'user` WHERE `user_id` =nom rédacteur<br />
- <br />
- Je ne m'y connait pas beaucoup et alors je vous pose la question comment lier les deux conditions ?<br />
- <br />
- <br />
- Je vous remercie par avance.<br />
- <br />
- </p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">08/02/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>@Stefano : tu peux réutiliser la requête du commentaire 48 de cette page, en l'adaptant avec la table user. Tu crées des alias sur les deux tables avec AS et après tu récupères les champs dont tu as besoin.<br />
- <br />
- Si tu trouves la réponse, tu peux la poster ici, sinon je t'aide un peu plus ;-).</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">michel gook</span> le <span class="comment-date" property="schema:commentTime">12/02/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>vous savez si c'est possible de laisserun seul billet permanent en page d'accueil sur dot clear ????</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">12/02/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>@michel gook : tout est possible :-)<br />
- <br />
- Le plus simple est à mon avis de modifier le template d'index en incluant le html en question dedans. S'il faut récupérer un vrai billet ça demande plus de code mais ça reste possible.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">Djoh</span> le <span class="comment-date" property="schema:commentTime">06/06/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Ce n'est pas exactement le sujet du billet, mais ça s'en rapproche et peut-être sauras-tu m'aider...<br />En utilisant les functions de doctlear (v1.2.8), saurais-tu afficher les x derniers billets (ça c'est par défaut), suivis des Y derniers titres des billets suivants ?<br />En gros, comme sur tuxboard, quoi. Lui aussi sur dotclear.</p>
-
- <p>Merci de ton aide</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">marcolas</span> le <span class="comment-date" property="schema:commentTime">12/11/2008</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Bonjour<br />Et si je veux, en prime, ajouter le chapeau s'il existe ou le contenu si le chapeau est inexistant, comment je fais ?</p>
-
- <p>Merci en tout cas pour l'astuce :)</p>
-
- <p>Marc</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">moon</span> le <span class="comment-date" property="schema:commentTime">26/01/2009</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Je n'arrive pas a me connecter à ma base de données, pourtant j'ai bien indiqué le chemin :/</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">jeanmarie</span> le <span class="comment-date" property="schema:commentTime">26/01/2009</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut,</p>
-
- <p>merci pour ce script bien pratique...</p>
-
- <p>Je l'ai adapté pour afficher uniquement le titre, le chapo et le contenu du billet (ce dernier apparaissant avec un effet slide jQuery) du dernier article.</p>
-
- <p>Par contre, j'aimerai n'afficher le dernier billet que d'une catégorie.</p>
-
- <p>jean marie</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">jeanmarie</span> le <span class="comment-date" property="schema:commentTime">27/01/2009</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut,</p>
-
- <p>bon, un voisin de bureau ma montré la réponse (on ne soupçonne pas toujours les ressources qu'on a à proximité :) ), il suffit d'un WHERE bien placé et ça roule..</p>
-
- <p>Du coup, ca donne ca (dans mon cas, je pioche dans la 2e catégorie):</p>
-
- <p>$query =<br />' SELECT post_titre,post_titre_url,post_chapo,post_content,cat_id<br />FROM '.DB_PREFIX.'post<br />WHERE cat_id = 2<br />ORDER BY post_id DESC LIMIT 1';</p>
-
- <p>Merci pour ce petit script bien efficace...</p>
-
- <p>Bonne continuation...</p>
-
- <p>jean marie</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">moon</span> le <span class="comment-date" property="schema:commentTime">02/02/2009</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Hello,</p>
-
- <p>je n'arrive pas à afficher la date sur l'URL, qlq'un peut-t-il m'expliquer la raison?</p>
-
- <p>merci pour votre reponse.</p>
- </div>
- </div>
- <div class="comment" typeof="schema:UserComments">
- <p class="comment-meta">
- <span class="comment-author" property="schema:creator">jeanmarie</span> le <span class="comment-date" property="schema:commentTime">03/02/2009</span> :
- </p>
- <div class="comment-content" property="schema:commentText">
- <p>Salut Moon,</p>
-
- <p>recuperes-tu le champ dans la base avec le SELECT?</p>
-
- <p>Si non, il faut rajouter post_dt en plus des champs dont tu as besoin...<br />Ensuite, tu peux l'afficher comme tu veux.<br />Ce qui donnera un truc du genre:<br />SELECT post_titre,post_titre_url,post_chapo,post_content,post_dt</p>
-
- <p>J'espère que ça peut t'aider...</p>
- </div>
- </div>
-
- </div>
- </section>
-
-
- <footer>
- <nav>
- <p>
- <small>
- Je réponds quasiment toujours aux <a href="mailto:david%40larlet.fr" title="Envoyer un email">emails</a> (<a href="/david/signature/" title="Ma signature actuelle avec possibilité de chiffrement">signés</a>) et vous pouvez me rencontrer à Montréal. <span class="more-infos">N’hésitez pas à <a href="/david/log/" title="Être tenu informé des mises à jour">vous abonner</a> pour être tenu informé des publications récentes.</span>
- </small>
- </p>
- </nav>
- </footer>
-
- </div>
-
- <script src="/static/david/js/larlet-david-3ee43f.js" data-no-instant></script>
-
- <script data-no-instant>InstantClick.init()</script>
-
- </body>
- </html>
|