PHP Script de news [v1.1]
Bonjour,

Voici un PETIT script de news:

Révision: 1.1
Prochaine révision: 1.2

Version 1.0:
Affiche des news (titre,texte,auteur,date)
Ajoute des news

Créer un fichier news.php:
Code PHP :
<?php
$host 
"127.0.0.1"//host
$user "user"//Nom de comtpe mysql
$pass "************"//MDP de mysql
$site "news";//DB de la table news
$news "news"//pas touché

$db mysql_connect($host$user$pass);
mysql_select_db($site,$db); 

$sql 'SELECT * FROM '.$news.' ORDER BY la_date DESC';

$req mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while(
$data mysql_fetch_assoc($req)) 
{
?>
<div align="center>"><?php echo $data['titres']; ?></div>
<?php echo $data['texte_news']; ?>
<div align="left">Par <?php echo $data['auteur']; ?></div><div align="right">Le <?php echo $data['la_date']; ?></div>
<?php

?>

Creer un fichier ajoue.php:

Code PHP :
<?php

$host 
"127.0.0.1"//host
$user "user"//Nom de comtpe mysql
$pass "************"//MDP de mysql
$site "news";//DB de la table news
$news "news"//pas touché

if (!empty($_POST)) {
$connect mysql_connect($host$user$pass);
$db mysql_select_db($site);
$auteur strip_tags($_POST['auteur']);
$titre strip_tags($_POST['titre']);
$message strip_tags($_POST['message']);

mysql_query("INSERT INTO ".$news." (id, auteur, titres, la_date, texte_news) VALUES('','".$auteur."','".$titre."',NOW(),'".$message."')");

echo 
'<center>la news a bien été insérée</center>';

}

?><center><form action="" method="post" >                
                        <label for="titre"><b>Titre de la news:</b></label><br>
                        <input type="text" name="titre" id="titre" value="Le titre"  style="width:10%; border: 2px inset black;"/><br>
                        <label for="message"><b>Message:</b></label><br>
                        <textarea name="message" id="message" style="border: 2px inset black; text-indent: 30px; "rows="10" cols="50"></textarea><br>
                        <label for="auteur"><b>Auteur</b></label><br>
                        <input type="text" name="auteur" id="auteur" value=""  style="width:10%; border: 2px inset black;"/><br>
                         <input name="ok" value="Ajouter la news" type="submit"/>
                     </form></center> 

Le SQL:
Code :
-- ----------------------------
-- Table structure for `news`
-- ----------------------------
DROP TABLE IF EXISTS `news`;
CREATE TABLE `news` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `auteur` varchar(30) NOT NULL,
  `titres` text NOT NULL,
  `la_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `texte_news` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of news
-- ----------------------------

INSERT INTO `news` VALUES ('1', 'Deathart', 'Script de news[v1.1]', '2010-07-02 12:30:19', 'Bonjour,<br> Si vous voyez sce message c est que vous avez bien réussi a mettre votre scipt de news');
INSERT INTO `news` VALUES ('2', 'Deathart', 'Prochaine version [v1.2]', '2010-07-02 12:30:19', 'Bonjour,<br> La prochaine mise a jour du script comportera:<br><ul><li> -BBcode dans l ajoue des news</li><li>-Suprime des news</li><li>modifie des news</li>');

Voila Cordialement,
Deathart
Pas mal. Tu rajoutes les news via navicat/sqlyog ?
Sinon merci pour le partage Clin
Oui ais la prochaine version je vais mettre un fichier pour les ajouter via se fichier
Merci Clin
Mise a jour du script [v1.1]:

-Ajoute des news

Prochaine version:

-Ajoute de BBcode.
-Modifie une news.
-Supprime une news.
Bonjour,

Ces script souffre de plusieurs lacunes !

Script news.php :
  1. Il y a un mysql_connect mais pas de mysql_close.
  2. Tu as essayé d'utiliser les ressources, mais tu ne les exploites pas:
    [code=php]
    $db = mysql_connect($host, $user, $pass); //Assignation de la ressource $db
    mysql_select_db($site,$db); //Utilisation de la ressource pour sélectionner la db

    $sql = 'SELECT * FROM '.$news.' ORDER BY la_date DESC';

    $req = mysql_query($sql); //Je serais PHP, ici ferais un jolie Warning tout moche sur ton site. Où est passée ta ressource ? Le bon code aurait été $req = mysql_query($sql, $db);
    [/code]
  3. Tu devrais créer un buffer.
    [code=php]
    $buff = ""; //déclaration d'un buffer vide
    while($data = mysql_fetch_assoc($req))
    {
    $buff .= "<div align=\"center>\">".$data['titres']."</div>";
    $buff .= $data['texte_news'];
    $buff .= "<div align=\"left\">Par ".$data['auteur']."</div><div align=\"right\">Le ".$data['la_date']."</div>";
    }

    echo $buff;
    [/code]
    C'est plus jolie à voir non ?
    Une autre méthode consiste à faire un template:
    [code=php]
    define("TPL_NEWS", "<div align=\"center>\">%s</div>%s<div align=\"left\">Par %s</div><div align=\"right\">Le %s</div>");

    $buff = ""; //déclaration d'un buffer vide
    while($data = mysql_fetch_assoc($req))
    $buff .= sprintf(TPL_NEWS, $data['titres'], nl2br($data['texte_news']), $data['auteur'], $data['la_date']);

    echo $buff;
    [/code]
    Et là, ça a de la gueule ! Hihi
    Bon, il y a encore possibilité de faire plus propre, en utilisant des systèmes de template toussa toussa... Mais sur un si petit ce script ce genre de chose est useless.


Script ajoue.php (euh... il y a une faute d'orthographe dans le nom du script, c'est ajout et non ajoue):
  1. Même lacune concernant le mysql_close.
  2. Mêmes problèmes d'utilisation de la ressource SQL.


Voilà, essaie de corriger tout ça pour la version 1.2 avant d'ajouter des fonctionnalités.

Cordialement,
Benjy
Osef, j'ai abandonner Hihi
Puis je code en POO donc tkt
No comment...
T'as raison, tu viendra critiquer, quand tu partagera Smile

Sur ce, bonne nuit Smile
Mon cher Deathart, je trouve ta remarque plus que décevante.
Mon post n'est pas une critique, mais vise à te donner quelques conseils qui te permettront de t'améliorer.
Maintenant, au lieu de me répondre sur un ton aussi hautin, prend mes conseils ou laisse les ici pour les autres, mais ne vient pas m'insulter parce que j'ai touché ton orgueil.

Merci de ta compréhension.

Cordialement,
benjy

Retourner en haut Accueil