Ma variable me renvoi array

Résolu/Fermé
Tulifer Messages postés 69 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 13 décembre 2009 - 6 juil. 2009 à 18:07
 le père - 7 juil. 2009 à 16:00
Bonjour,

J'ai créer un système de news et un autre de commentaire.

Ma table commentaires
id | idnews | pseudo | message

idnews correspond à l'id de la news pour savoir quel message va a quel news

Moi je souhaite que à coter du lien ou je clic pour écrire un commentaire il y est le nombre de commentaire.
J'ai essayer et ma variable me renvoi Array.


Voici mon code.
$retour = mysql_query('SELECT COUNT(*) AS nb_new FROM news');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_new'];


$nombreDeMessagesParPage = 7; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_new FROM news');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_new'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages



if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '. $premierMessageAafficher.','.$nombreDeMessagesParPage.'') or die('Erreur :'.mysql_error());




$retourr = mysql_query('SELECT COUNT(*) AS nb_message FROM commentaires WHERE idnews=\''.$donnees['id'].'\'');
$nbcom = mysql_fetch_array($retourr);

while ($donnees = mysql_fetch_array($reponse))
{

$profil = mysql_query('SELECT * FROM connexion WHERE pseudo=\''.$donnees['auteur'].'\'');
$profil2 = mysql_fetch_array($profil);

echo '<p><h3 id="newws" style=" ">' . $donnees['titre'] . '</h3> <p style="font-size: small; text-align: right;" class="auteur">Ecrit par <a style="color: gray;" href="affichage_profil.php?membre='.$profil2['id'].'">' .$donnees['auteur'] . '</a> le ' . date('d/m/Y à H\hi', $donnees['timestamp']) . ' </p> ' . $donnees['contenu'] = bbcode($donnees['contenu']) . '</p><br/><a style="color: #79A325;" href="commentaires.php?id_news=' .$donnees['id']. '">Commentaires '.$nbcom.'</a><br/>';

}
echo ' <br/> Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}

27 réponses

Je crois que je viens de comprendre...
Ton $retourr=... et $nbcom=... devraient être à l'intérieur du while, et non pas juste avant !
0
Tulifer Messages postés 69 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 13 décembre 2009 1
7 juil. 2009 à 11:08
Pour ton premier message.

Je me sert de sa pour afficher mes news donc obligatoirement j'ai l'id vu que je récupère les infos.
$reponse = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '. $premierMessageAafficher.','.$nombreDeMessagesParPage.'') or die('Erreur :'.mysql_error());
$donnees = mysql_fetch_array($reponse)


Pour ton deuxième message je vais essayer.

Edit: Sa marche.

Décidément je doit je remercier deux fois le père :)

Merci beaucoup
0
$reponse = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '. $premierMessageAafficher.','.$nombreDeMessagesParPage.'') or die('Erreur :'.mysql_error());
$donnees = mysql_fetch_array($reponse)


Justement non, je viens de relire ton 1er message, tu n'avais pas $donnees = mysql_fetch_array($reponse)

Enfin, ça marche, c'est l'essentiel.
0
Tulifer Messages postés 69 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 13 décembre 2009 1
7 juil. 2009 à 11:52
Regarde plutôt

while ($donnees = mysql_fetch_array($reponse) )
0

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

Posez votre question
Rigolo :D

Oui, il y avait bien la ligne... mais pas telle que tu l'indiques dans ton message 22. En réalité, elle venait APRÈS l'endroit où tu utilisais le résultat dans une requête. Donc $donnees[id'] n'existait pas au moment où tu t'en servais.
Par contre, après avoir remis la requête à sa place, c'est à dire après le while ($donnees = mysql_fetch_array($reponse) ), maintenant $donnees[id'] est défini au moment de s'en servir et ça marche.
0
Tulifer Messages postés 69 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 13 décembre 2009 1
7 juil. 2009 à 15:27
Ok, merci quand même.
0
De rien. Bonen continuation :)
0