Afficher des news sur son site... Module de news ?

Afficher des news sur son site... Module de news ? - HTML/CSS - Programmation

Marsh Posté le 27-01-2007 à 17:34:37    

Je cherche un moyen de faire apparaitre un module pour afficher des news sur mon site web.
 
J'aimerais qu'il y est :
- une paginnation pour avoir plusieurs pages (5news/page par exemple)
- ajout/lecture de commentaire
- flux RSS? pourquoi pas ? (pas obligé du tout)
 
Il faudrait qu'il soit simple à administrer une fois installé sur serveur avec base MySql.
Avec quel module pourrais je réaliser ça? (je ne connait pas vraiment le PHP mais c'est histoire de publier des news rapidement...)
Merci! a+
 
PS : Page actuelle de test pour les news (sans paginnation donc les news disparraisent!  :pfff: )
http://www.univers-ds.fr/news2.php


---------------
www.univers-ds.fr
Reply

Marsh Posté le 27-01-2007 à 17:34:37   

Reply

Marsh Posté le 27-01-2007 à 17:41:59    

Lol, PHP est un langage, c'est pas une boite rempli de modules ;)

 

Donc soit tu crées, tes modules, soit sur le net, tu cherches un script gratos, soit tu payes quelqu'un....

 

Et pour ton site, je te l'ai pas dire la dernière fois mais :

 
Code :
  1. <li><a id="bouton1" href="http://www.univers-ds.fr/news.html"></a></li>
 

C'est mieux avec un truc dedans, pense au gens qui voient pas ...

 
Code :
  1. <li><a id="bouton1" href="http://www.univers-ds.fr/news.html">NEWS</a></li>
 

et dans le CSS

 
Code :
  1. #bouton1 {text-indent:-9000px;}


Message édité par xtof_83 le 27-01-2007 à 17:44:16
Reply

Marsh Posté le 27-01-2007 à 17:51:58    

Ah oui... a mon avis il n'y a pas un gros pourcentage de gens qui desactivent les images mais je corrigerais cela.
 

Citation :

tu cherches un script gratos


 
Oui lequel prendre, j'ai du mal a en trouver un...
Personne ici n'en a jamais utiliser un ?


---------------
www.univers-ds.fr
Reply

Marsh Posté le 27-01-2007 à 23:38:50    

J'ai cherché partout de chez partout ça doit être très rare pourtant c'est utilisé sur pas mal de site! :(


---------------
www.univers-ds.fr
Reply

Marsh Posté le 28-01-2007 à 10:59:31    

Moi je te file, ce que j'ai, mais pas gratos :P
 
C'est ça mon gars ;), et après tu auras comme sur tout les sites.
 
Sinon comme tout le monde, tu programmes, ou tu cherches mieux ;)

Reply

Marsh Posté le 28-01-2007 à 20:28:44    

Et c'est combien l'ammelioration d'un module tout fait avec juste une petite pagination qui compte les news et qui divise ce nombre et les repartit sur les pages? hum..
Que le monde est impitoyable :(


---------------
www.univers-ds.fr
Reply

Marsh Posté le 28-01-2007 à 20:42:15    

Franchement, c'est 1 à 2h du boulot.
Essaye ;)

 

Sinon ici, on programme, pas de question d'argent, entre nous...en MP ça peu s'arranger , mdr.

 

Juste une question, actuellement, tu fais comment sur ton site ?
Tout est en dur ?


Message édité par xtof_83 le 28-01-2007 à 20:48:16
Reply

Marsh Posté le 02-02-2007 à 20:27:24    

En dur j'avais pensé mais j'ai quand même opté pour un service gratuit de module pour l'instant mais sinon oé je vais essayer avec EasyPHP peut être le temps que je comprenne comment ça marche..  :D

Reply

Marsh Posté le 02-02-2007 à 21:32:29    

Un systeme de news avec une base de données j'en ai un à proposé par contre j'ai pas la pagination mais le nombre de news à afficher...
Le fichier .php d'insertion de news

Code :
  1. <?php
  2. // on teste si le formulaire a été validé
  3. if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
  4.     // on se connecte à notre base
  5.     $base = mysql_connect ('localhost', 'root', '');
  6.     mysql_select_db('news', $base);
  7.     // on teste la déclaration de nos variables
  8.     if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['news'])) {
  9.         $erreur = 'Les variables nécessaires au script ne sont pas définies.';
  10.     }
  11.     else {
  12.         if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['news'])) {
  13.             $erreur = 'Au moins un des champs est vide.';
  14.         }
  15.         // si tout est bon, on peut commencer l'insertion dans la base
  16.         else {
  17.             // lancement de la requête d'insertion
  18.             $sql = 'INSERT INTO news VALUES("", "'.addslashes($_POST['auteur']).'", "'.addslashes($_POST['titre']).'", "'.date("Y-m-d H:i:s" ).'", "'.addslashes($_POST['news']).'" )';
  19.             // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  20.             mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
  21.             // on ferme la connexion à la base de données
  22.             mysql_close();
  23.             // on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
  24.             header('Location: ../index.php');
  25.             // on termine le script courant
  26.             exit();
  27.         }
  28.     }
  29. }
  30. ?>
  31. <html>
  32. <head>
  33. <title>Insertion d'une nouvelle news</title>
  34. </head>
  35. <body>
  36. <!-- on fait pointer le formulaire vers la page traitant les données -->
  37. <form action="insert_news.php" method="post">
  38. <table>
  39. <tr><td>
  40. <span class="gras">Auteur :</span>
  41. </td><td>
  42. <input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo stripslashes(htmlentities(trim($_POST['auteur']))); ?>">
  43. </td></tr><tr><td>
  44. <span class="gras">Titre :</span>
  45. </td><td>
  46. <input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo stripslashes(htmlentities(trim($_POST['titre']))); ?>">
  47. </td></tr><tr><td>
  48. <span class="gras">News :</span>
  49. </td><td>
  50. <textarea name="news" cols="50" rows="10"><?php if (isset($_POST['news'])) echo stripslashes(htmlentities(trim($_POST['news']))); ?></textarea>
  51. </td></tr><tr><td><td align="right">
  52. <input type="submit" name="go" value="Poster la news">   
  53. </td></tr></table>
  54. </form>
  55. <?php
  56. // on affiche les erreurs éventuelles
  57. if (isset($erreur)) echo '<br /><br />',$erreur;
  58. ?>
  59. </body>
  60. </html>
 

Le fichier d'affichage de news

Code :
  1. <?php
  2. // on se connecte à notre base
  3. $base = mysql_connect ('Mon serveur', 'Mon login', 'Mon password');
  4. mysql_select_db('Ma base SQL', $base);
  5. // lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
  6. $sql = 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC LIMIT 5;'; //La valeur 5 défini le nombre de news affichées
  7. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  8. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  9. // on compte le nombre de news stockées dans la base de données
  10. $nb_news = mysql_num_rows($req);
  11. if ($nb_news == 0) {
  12.     echo 'Aucune news enregistrée.';
  13. }
  14. else {
  15.     // si on a au moins une news, on l'affiche
  16.     while ($data = mysql_fetch_array($req)) {
  17.         // on décompose la date
  18.         sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
  19.         // on affiche les résultats
  20.         echo '<br />News de : ' , stripslashes(htmlentities(trim($data['auteur']))) , '<br />';
  21.         echo 'Titre : ' , stripslashes(htmlentities(trim($data['titre']))) , '<br />';
  22.         echo 'Postée le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec , '<br /><br />';
  23.         echo 'News : ' , nl2br(stripslashes(htmlentities(trim($data['texte_news'])))) , '<br />';
  24.     }
  25. }
  26. // on libère l'espace mémoire alloué à cette requête
  27. mysql_free_result ($req);
  28. // on ferme la connexion à la base de données
  29. mysql_close ();
  30. ?>
 

La ligne à insérer à l'endroit ou on veut afficher les news...

 
Code :
  1. <?php
  2. // on inclut l'affichage de nos news
  3. include ('./news/news.php');
  4. ?>
 

Voila simple et efficace mais il faudra le modifier pour gérer la paginations et le flux RSS...


Message édité par iceblue le 02-02-2007 à 21:40:20

---------------
Boitier : Nikon D200 *-* Objectifs : 50 1.8 AF-D - 18-55 f3,5-5,6 - 55-200 f/3.5-5.6 DX VR - 135mm f/2.8 modifié AI - Nikkor 300 f/4 AF-IF ED - Samyang 14mm f/2.8 *-* Accessoires : Metz 48AF-1 - Velbon Sherpa R350 - Vanguard RSF27B
Reply

Marsh Posté le 03-02-2007 à 12:33:05    

Et du code, un peu plus propre, serait de mise...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed