Module de news php

Fermé
stranks - 1 déc. 2008 à 15:22
 kurtz - 16 déc. 2011 à 11:54
Bonjour,

Je me suis servi d'un script php pour mon module de news mais apres l'avoir installer je decouvre qu'il y a un petit soucis, il n'y a pas de limite pour le nombre de news affichées par page.
voici les script :

>>>>>>>>>>>>>>>>>>>>>>>la page d'accueil :<<<<<<<<<<<<<<<<<
<?
// Include de la connexion sql
include('Templates/sql.php') ;
// Requete sql pour récupérer les news
$requete_news = mysql_query("SELECT * FROM news ORDER BY id DESC",$connexion);
$news = mysql_num_rows($requete_news);
?>
<u>Toutes les news du site</u>
<br><br>
<?
$i = 0;
while ($i < $news) {
// Variables date
$date = mysql_result($requete_news,$i,"date");
$annee = date("Y", $date);
$mois = date("m", $date);
$jour = date("d", $date);
$heure = date("H", $date);
$minute = date("i", $date);
$date = $jour."/".$mois."/".$annee." à ".$heure."h".$minute;
// Autres variables
$titre = mysql_result($requete_news,$i,"titre");
$source = mysql_result($requete_news,$i,"source");
$texte = mysql_result($requete_news,$i,"texte");
// Affichage de la news //
// Titre
echo '<table border="0" bgcolor="#000000" width="550"><tr><td width="50%" height="30" background="images/fondnews.jpg" colspan="0" class="style1"><center>'.$titre.'</center></td></tr>';
// Date
echo '<tr><td width="100%" bgcolor="#000000" class="style2">News ajoutée le '.$date.'</td>';
// Texte
echo '<tr><td colspan ="0" bgcolor="#000000" class="style9">'.nl2br($texte).'</td></tr></table><br>';
$i++; }
?>


>>>>>>>>>>>>>>>>>>>>>>>>>la page ajout:<<<<<<<<<<<<<<<<<<<<
<?
// Include de la connexion sql
include('Templates/sql.php') ;
?>
<u>Ajouter une news</u>
<?
/// Début formulaire ///
$act = $_GET['act'];
if ($act == 'sub')
{
// Variables //
$date = time();
// Variables du formulaire déjà remplies
$titre = isset($_POST['titre']) ? $_POST['titre'] : '';
$titre = get_magic_quotes_gpc() ? stripslashes($titre) : $titre;
$source = isset($_POST['source']) ? $_POST['source'] : '';
$source = get_magic_quotes_gpc() ? stripslashes($source) : $source;
$texte = isset($_POST['texte']) ? $_POST['texte'] : '';
$texte = get_magic_quotes_gpc() ? stripslashes($texte) : $texte;
// Vérification des variables !
if (empty($titre)) { echo("<center>Vous n'avez pas mis de titre pour votre news !</center><hr>"); }
if (empty($texte)) { echo("<center>Vous n'avez pas mis de texte pour votre news !</center><hr>"); }
// Ajout de la news en fonction des vérification
if ($titre != "" and $texte != "")
{
$result = mysql_query("insert into news values ('','$titre','$texte','$source','$date')",$connexion);
echo("<center>Votre news a été ajoutée avvec succès !</center><hr>");
}
}
?>
<form method="post" name="form" action="ajout.php?act=sub">
<table cellSpacing="1" border="0" width="550">
<tr></tr><td align="center" colspan="2">* : champ OBLIGATOIRE</td></tr>
<tr><td><span class="style6">* <u>Titre de votre news :</u><br>
(120 caractères maximum)</span></td>
<td><input name="titre" value="" size="55" maxlength="120"></td></tr>
<tr><td><u><span class="style6">Votre source :</span></u><span class="style6"><br>
(120 caractères maximum)</span></td>
<td><input name="source" value="" size="55" maxlength="120"></td></tr>
<tr><td colspan="2" align="center">* <u>Votre texte :</u><br><textarea name="texte" rows="10" cols="50"></textarea></td></tr>
<tr><td align="center" colspan="2"><input type="submit" name="Submit" value="Envoyer"></td></tr>
</table>
</form>

>>>>>>>>>>>>>>>>>>la page admin :<<<<<<<<<<<<<<<<<<<<
<?
// On include la conexion à la base de donnée
include('Templates/sql.php');
/// ACTION ///
$act = $_GET['act'];
if ($act == 'sub') {
// Modification
if ($_POST['submit'] == "Modifier") {
$id = $_POST['id'];
$titre = $_POST['titre'];
$source = $_POST['source'];
$texte = $_POST['texte'];
$query = "UPDATE news SET titre='$titre',source='$source',texte='$texte' WHERE id=$id";
mysql_query($query,$connexion);
}
// Supression
if ($_POST['submit'] == "Supprimer") {
$id = $_POST['id'];
$result1 = mysql_query("delete from news where id=\"".$id."\"", $connexion);
}
}
// Requetes
$resultat_sql = mysql_query("SELECT * FROM news",$connexion);
$nombreligne = mysql_num_rows($resultat_sql);
// Affichage des news
$i = 0;
while ($i<$nombreligne)
{
// Variable de la news
$id = mysql_result($resultat_sql,$i,"id");
$titre = mysql_result($resultat_sql,$i,"titre");
$source = mysql_result($resultat_sql,$i,"source");
$texte = mysql_result($resultat_sql,$i,"texte");
// Affichage en ligne
echo '<form method="post" name="form" action="admin.php?act=sub"><table width="550" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="left" valign="top" class="style2"><p>Titre:</p>
<p><input name="id" value="'.$id.'" type="hidden">
<input name="titre" size="60" value="'.$titre.'"></p></td>
</tr>
<tr>
<td class="style2"><p>Source:</p>
<p><input name="source" size=\"60\" value="'.$source.'"></p></td>
</tr>
<tr>
<td class="style2"><p>Texte:</p>
<p><textarea name="texte" rows="10" cols="50">'.$texte.'</textarea></p></td>
</tr>
<tr>
<td><input type="submit" value="Modifier" name="submit"><input type="submit" value="Supprimer" name="submit"></td>
</tr>
</table></form>';
$i++; }
?>

que dois-je y ajouter pour qu'il n'y ai par exemple que 15 news par page et pour qu'il y ai un moyen de consulter toutes les page ("page : 1 , 2 , 3 ...") ?

5 réponses

up .
0
J'ai cru comprendre que pour limité la quantitée de news ca avait quelque chose a voir avec "$i++"
Un petit coups de pouce serait le bienvenue :)
0
mister-gwada97one Messages postés 110 Date d'inscription samedi 23 août 2008 Statut Membre Dernière intervention 1 janvier 2012 7
26 août 2009 à 09:14
je me pose la même question..
Quelqu'un??
0
Comment installer une extention sur Joomla?
Quand j'essaie d'installer une extention, sa me donne ce message d'erreur:
JFolder::create: Ne peut pas créer le dossier
Attention ! - Le fichier n'a pas pu être déplacé

Que faire?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pour ta réponse , quand tu affiche sur ta page d'accueil. Si tu veux mettre une limite du nombre d'articles (news sur ta page) tu met une limite lord de ton appel à ta base de donnée avant ta boucle d'affichage:

$Exemple = mysql_query('SELECT * FROM table ... LIMIT 0, 5');

Ensuite si tu veux afficher de façon aléatoire tu fait un math random entre 0 et 100 par exemple.
0