Résolu Problème Affichage

Statut
N'est pas ouverte pour d'autres réponses.

Iktus

Premium
Inscription
21 Octobre 2013
Messages
1 675
Réactions
374
Points
12 981
RGCoins
25
Salut :RG:

Il me reste un petit problème sur mon système de news à propos de l'affichage. D'après @WhiiTe' SEC , que je remercie pour son aide, m'a dit que cela venait de la boucle while qui bug.

Explication: J'ai ajouter un bouton "Lire" pour qu'une fenêtre ouvre directement la news mais cela est buggé, sa affiche le dernier titre et news et non celle de l'id sélectionner.




PHP:
<?php
$DB = new PDO('mysql:host=localhost;port=3306;dbname=cms', 'root', '');

$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 50');
while ($donnees = mysql_fetch_array($retour))
{
$article = $donnees['contenu'];
$articlereduit = utf8_encode(substr($article,0,630));
?>
                                    <div class="meta-line clearfix">
                                        <div class="meta-author-category pull-left">
                                            <span class="post-author">Poster par <a href="#"><?php echo $donnees['auteur']; ?></a></span>
                                        </div>
                                        <div class="meta-tag-comment pull-right">
                                            <span class="post-comment"><i class="fa fa-comments"></i> <a href="#">0 Commentaire(s) </a><span class="label label-danger label-main-nav"> BIENTÔT</span></span>
                                        </div>
                                    </div>
                                </header>
                                <div class="entry-content clearfix">
                                    <div class="row">
                                        <div class="col-sm-5">
                                            <figure class="featured-image">
                                                    <img src="<?php echo $donnees['image']; ?>" width="400" height="250" alt="CMEJ SAG MAIRIE" />
                                            </figure>
                                        </div>
                                        <div class="col-sm-7">
                                            <div class="excerpt">
                                            <h2><?php echo $donnees['titre']; ?></h2>
                                                <?php
$article = utf8_encode(nl2br(stripslashes($donnees['contenu'])));
echo $articlereduit;
?></p>

                                              
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Lire
</button>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel"><?php echo $donnees['titre']; ?></h4>
      </div>
      <div class="modal-body">
       <?php
$contenu = utf8_encode(nl2br(stripslashes($donnees['contenu'])));
echo $contenu;
?>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>
      </div>
    </div>
  </div>
</div>
                                              
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <hr />
                            </article>

                                                            <?php
                                }
                                ?>

Merci!
 
Salut,

Si tu veux debug ton code, fait un var_dump($data); de ton tableau qui contient les données dans ton while.
Perso, j'aurai fais un foreach si tu récupères un tableau, qui englobe des tableaux avec tes infos ;)

Bonne journée,
AwH.
 
Salut,

Si tu veux debug ton code, fait un var_dump($data); de ton tableau qui contient les données dans ton while.
Perso, j'aurai fais un foreach si tu récupères un tableau, qui englobe des tableaux avec tes infos ;)

Bonne journée,
AwH.
Ce n'ai pas un tableau o.O C'est juste un modal qui s'ouvre dès que j'appuis sur le bouton. Et comment j'utilise foreach du coup ? :/

Tu utilises une fonction obsolète de PHP (mysql_) et effectivement comme l'a dit @AwH je te recommande un foreach plutôt d'une boucle while. ;)
J'y peux rien si j'utilise que des choses obsolète, google est pas a jours :(
 
Tu peux var_dump(); le résultat de ta requête que je te le fasse ?
Sinon, pour le foreach :

PHP:
foreach($tableau as $key => $value){
//TODO
}
 
Tu peux var_dump(); le résultat de ta requête que je te le fasse ?
Sinon, pour le foreach :

PHP:
foreach($tableau as $key => $value){
//TODO
}
Je remplace while ($donnees = mysql_fetch_array($retour)) par
oreach($tableau as $key => $value){
//TODO
}

C'est tout ?
 
xdebug <3
Migre totalement sur PDO ;)

PHP:
<?php
$db = new PDO('mysql:host=localhost;port=3306;dbname=cms', 'root', '');

$req = $db->prepare('SELECT * FROM news ORDER BY id DESC LIMIT 0, 50');
$req->execute();
# Soit tu stocks ton résultat dans une variable
# $res = $req->fetchAll();

# $res contient dans un tableau, le résultat de ta requête

# Soit tu fais ca de façon rapide et degueu
foreach($req->fetchAll() as $resultat => $value){
# TODO
    print_r($resultat);
}
?>
 
Dernière édition:
xdebug <3
Migre totalement sur PDO ;)

PHP:
<?php
$DB = new PDO('mysql:host=localhost;port=3306;dbname=cms', 'root', '');

$req = $db->prepapre('SELECT * FROM news ORDER BY id DESC LIMIT 0, 50');
$req->execute();
# Soit tu stocks ton résultat dans une variable
# $res = $req->fetchAll();

# $res contient dans un tableau, le résultat de ta requête

# Soit tu fais ca de façon rapide et degueu
foreach($req->fetchAll() as $resultat => $value){
# TODO
    print_r($resultat);
}
?>
Merci :) mais maintenant les news ne s'affiche plus x)

Si je laisse le
<?php
}
?>
à la fin de l'article sa fait une erreur de syntax et si je l'enlève : Notice: Undefined variable: db in /Applications/XAMPP/xamppfiles/htdocs/cmej/index.php on line 91

Fatal error: Call to a member function prepapre() on null in /Applications/XAMPP/xamppfiles/htdocs/cmej/index.php on line 91

 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut