Système de news
- Accueil
- Forum
- Programmation
- HTML / CSS
- Système de news
Rudelle65 Le 30 mars 2016 à 17:31 (Édité le 25 janvier 2019 à 17:50)
j'aurais besoin de toi pour créer un système de news j'ai fait plusieurs essais qui n'ont pas fonctionner
ci tu pouvais faire une vidéo dessus ou autre ça serait gentil.
Rudelle65 Le 30 mars 2016 à 17:44 (Édité le 1 janvier 1970 à 01:00)
TheFlameflo Le 30 mars 2016 à 21:22 (Édité le 30 mars 2016 à 21:22)
Essaye de suivre ce tutoriel, mais c'est en POO !
Du coup, si tu n'es pas rendu là, tu peux toujours essayer de trouver un autre tutoriel plus convenable !
Rudelle65 Le 30 mars 2016 à 21:25 (Édité le 1 janvier 1970 à 01:00)
PrimFX Le 30 mars 2016 à 23:55 (Édité le 1 janvier 1970 à 01:00)
Un système de news est assez long a expliquer, je te ferai un post plus détaillé demain 😉
En attendant tu peux peut-être t'aider des autres tutos PHP que j'ai fait et qui devraient théoriquement te permettre d'arriver à créer ton système de news 😀
Rudelle65 Le 31 mars 2016 à 00:19 (Édité le 1 janvier 1970 à 01:00)
tu veux dire quoi par la je te ferai un post plus détaillé demain ?
TheFlameflo Le 31 mars 2016 à 01:02 (Édité le 1 janvier 1970 à 01:00)
<?php
include("inc/config.php"); #Inclus la connexion à la bdd
$req = $bdd->query('SELECT title, contenu, date_creation FROM news ORDER BY id DESC'); #Requête pour récupérer les news
while($news = $req->fetch()) #Boucle qui les affiche
{
?>
<div class="contenu">
<h3><?php echo nl2br($news['title']); ?></h1> #Affiche le titre
<p><?php echo nl2br($news['contenu']); ?> </p> #Affiche le contenu
<p class="date_creation"><?php echo $news['date_creation']?></p> #Affiche la date
</div>
<?php
}
$req->closeCursor(); #Ferme la boucle
?>
Ça, c'est la partie qui permet d'afficher les news. Je te conseille d'ajouter dans les requêtes une limite (5 dernières) ou tu suis le tuto de PrimFX sur la pagination (https://www.youtube.com/watch?v=yqoYvUuePvM).
Je crois qu'il y a rien d'autre à expliquer.
<?php
include("includes/config.php"); #Inclus la connexion à la BDD
if(isset($_POST['submitnew'])) #Série de test, je te laisse les lire et les comprendre
{
$titre = htmlspecialchars($_POST['title']);
$contenu = ($_POST['contenu']);
if(!empty($_POST['title'] AND !empty($_POST['contenu'])))
{
$reqtitre = $bdd->prepare('SELECT * FROM news WHERE titre = ?');
$reqtitre->execute(array($titre));
$titreexist = $reqtitre->rowCount();
if($titreexist == 0) {
$insertnew = $bdd->prepare('INSERT INTO news(title, contenu, date_creation) VALUES(?, ?, CURDATE())');
#Requête qui insère la new si tous les tests sont passés
$insertnew->execute(array($titre, $contenu));
$erreur = "News créée avec succès !";
}
else
{
$erreur = "Ce titre existe déjà.";
}
}
else
{
$erreur = "Tous les champs doivent être remplis.";
}
}
?>
<div>
<h2>Création de news</h2>
<br/> <br />
<form method="POST" action="">
<table>
<tr>
<td align="right">
<label for="titre">Titre :</label>
</td>
<td>
<input type="text" placeholder="Le titre" id="titre" name="title">
</td>
</tr>
<tr>
<td align="right">
<label for="contenu">Contenu</label>
</td>
<td>
<textarea placeholder="Le contenu" id="contenu" name="contenu" rows="10" cols="50">
</textarea>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Confirmer" name="submitnew">
</td>
</tr>
</table>
</form>
<?php
if(isset($erreur))
{
echo '<font color="red">'.$erreur."</font>";
}
?>
Ça c'est la partie qui permet de créer une nouvelle news. Veille à ce qu'elle soit protégée par .htaccess, si tu ne sais pas comment faire, il y a plein de tutos qui l'expliquent.
CREATE TABLE IF NOT EXISTS `news` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`title` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`contenu` mediumtext COLLATE utf8_unicode_ci NOT NULL,
`date_creation` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=0 ;
Je te donne la structure de ma table news, en gros, c'est un id en Auto Increment, un titre de 60 caractères, un contenu mediumtext et une date de création.
Malheureusement, je n'ai pas trouvé mon code qui permettait de supprimer et modifier les news. Désolé ! :/
Je n'ai pas inclus d'espace commentaire non plus, alors, je te laisse t'inspirer de mon code pour créer quelque chose d'encore mieux ! 😀
PrimFX Le 2 avril 2016 à 00:49 (Édité le 1 janvier 1970 à 01:00)
Bref, si tu as d'autres questions, n'hésite pas ! Et si la réponse de @TheFlameflo a résolu ton problème, n'oublie pas de passer le topic en "Résolu" 😗