Gestion de news

Par adrienferreira, il y a 15 ans


Bonjour à vous,
avant tout merci pour les tutoriels présents sur ce site qui sont super bien fait ! Je voudrais savoir si il est possible de faire afficher que les 2 dernières news sur notre site ?
tutoriel en question : http://www.grafikart.fr/tutoriels/gerer-news-php-43
Merci d'avance :)

7 réponses

PhiSyX, il y a 15 ans

Hello, préciser une LIMIT à ta requête SQL.

$query = 'SELECT `champ`
        FROM `news`
        ORDER BY `id` DESC
        LIMIT 0,2';
adrienferreira, il y a 15 ans

Ceci est ma partie de code :

<div class="bloc">
                <h1>Les News !</h1>
                    <?php
                        require "config.php";
                        mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
                        mysql_select_db(DB_BDD);

                        $sql="SELECT * FROM news";
                        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                        while($data=mysql_fetch_assoc($req)){
                            echo "<h2>{$data"titre"]}</h2>";
                            echo "<p>{$data"contenu"]}</p>";
                            echo "<p align\"right\">".date("j/n/Y G:i",strtotime($data"date"]))."</p>";
                        }
                    ?>
                </div>

A quel endroit dois-je inserer cette limite ?
Merci

PhiSyX, il y a 15 ans

Hello,
Dans ta requete SQL : ' $sql="SELECT * FROM news"; '
Tu dois dire à ta requête que tu souhaites afficher les 2 dernier résultats, pour cela, on utilise les mots clés ORDER BY champ DESC (Qui permet de trier les résultats dans un ordre décroissant) et LIMIT. (Pour indiquer une limite)

Donc ça ferait comme l'exemple que j'ai posté plus haut :
' $sql="SELECT * FROM news ORDER BY id DESC LIMIT 0,2"; '

Voilà voilà :p

gilles40, il y a 15 ans

Bonjour,

je rebondis sur cette question pour savoir: comment serai t il possible de colorer 1 news sur 2 dans une couleur differentes?

<?php
          $sql = 'SELECT date, texte FROM news ORDER BY id DESC LIMIT 0,10';
          $req = $PDO->query ($sql);
          while($d = $req->fetch(PDO::FETCH_OBJ)){
              echo("<div id=\"date_news\">".date("d/m/Y",strtotime($d->date))."</div>");
              echo("<div id=\"contenu_news\">".$d->texte."</div>");
          };
  ?>

merci d'avance

Gilles

PhiSyX, il y a 15 ans

Yep : Définis 2 class diff dans ton CSS (ex: .cols et .cols2)

$i = 0;
while ($d = $sql->fetch(PDO::FETCH_OBJ)) {
    $css = (($i % 2) != 0) ? 'cols' : 'cols2';
    echo("<div id=\"date_news\" class=\"" . $css . "\">".date("d/m/Y",strtotime($d->date))."</div>");  
    echo("<div id=\"contenu_news\ class=\"" . $css . "\">".$d->texte."</div>");
    ++$i;
}

Voilà ^^

gilles40, il y a 15 ans

Merci PhiSyx;

manquait juste un guillemet dans le 2 eme ECHO mais ça j'ai trouvé.

encore merci

Gilles

adrienferreira, il y a 15 ans

Merci Merci :D