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
le père - 7 juil. 2009 à 16:00
A voir également:
- Ma variable me renvoi array
- Désactiver renvoi d'appel ooredoo - Forum Mobile
- Renvoi d'appel ooredoo ✓ - Forum Free mobile
- Désactiver renvoi d'appel - Forum telephonie fixe
- Vba range avec variable ✓ - Forum VB / VBA
27 réponses
Bonjour
$nbcom est le résultat d'un mysql_fetch_array, c'est donc bien un array, rien d'anormal que ça t'affiche array !
À toi de sortir la valeur qui t'intéresse de cet array : $nbcom[0]
$nbcom est le résultat d'un mysql_fetch_array, c'est donc bien un array, rien d'anormal que ça t'affiche array !
À toi de sortir la valeur qui t'intéresse de cet array : $nbcom[0]
moderno31
Messages postés
872
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
6 juil. 2009 à 18:55
6 juil. 2009 à 18:55
Hello,
A quel niveau dans ton code tu as un problème ? J'allais te suggerer de boucler sur ton tableau induit dans la variable $donnees par exemple.
Autre chose est-ce que tu t'es assuré que coté base de données tout est fonctionnel ?
A quel niveau dans ton code tu as un problème ? J'allais te suggerer de boucler sur ton tableau induit dans la variable $donnees par exemple.
Autre chose est-ce que tu t'es assuré que coté base de données tout est fonctionnel ?
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 20:24
6 juil. 2009 à 20:24
@lepère Oui mais moi je veut le nombre de commentaire qu'il y sur la news.
Hors je ne sais pas quoi récupérer :S.
@modero31 Oui niveau base de donnée tout fonctionne.
Hors je ne sais pas quoi récupérer :S.
@modero31 Oui niveau base de donnée tout fonctionne.
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 20:36
6 juil. 2009 à 20:36
@le père Oui mais je ne sais pas quoi récupérer.
@moderno31 Oui tout fonctionne correctement dans la base de donnée.
@moderno31 Oui tout fonctionne correctement dans la base de donnée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 20:37
6 juil. 2009 à 20:37
le père: Je ne sais pas quoi récupérer
moderno31: Oui tout fonctionne dans la bdd
moderno31: Oui tout fonctionne dans la bdd
moderno31
Messages postés
872
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
6 juil. 2009 à 20:50
6 juil. 2009 à 20:50
Pas de souci je vois que tu nous aime bien, le père et moi vu le nombre de massages lol
Tu peux me dire à quelle ligne se situe ton problème de "array" ; il se peut qu'il y ait un rapport avec une boucle.
Tu peux me dire à quelle ligne se situe ton problème de "array" ; il se peut qu'il y ait un rapport avec une boucle.
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 21:04
6 juil. 2009 à 21:04
Alors la ligne c'est le echo et a la variable $nbcom
$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/>';
}
$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/>';
}
moderno31
Messages postés
872
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
6 juil. 2009 à 22:24
6 juil. 2009 à 22:24
Je ne vois pas de soucis dans le code, il faudrait que je l'exécute et que je vois.
S'il te renvoie "array" c''est qu'il n'a pas su le lire ou parce qu'il est vide.
Là j'ai pas le temps de renconstituer ton environnement. Y'a pas un message d'erreur ? Décrit moi exactement ce qui se passe quand tu exécute la page en question (page blanche, erreur, juste array ??)
S'il te renvoie "array" c''est qu'il n'a pas su le lire ou parce qu'il est vide.
Là j'ai pas le temps de renconstituer ton environnement. Y'a pas un message d'erreur ? Décrit moi exactement ce qui se passe quand tu exécute la page en question (page blanche, erreur, juste array ??)
Comme je l'ai mis dans mon premier message, il faudrait que tu affiches $nbcom[0] et non pas $nbcom :
...href="commentaires.php?id_news=' .$donnees['id']. '">Commentaires '.$nbcom[0].'</a><br/>';
...href="commentaires.php?id_news=' .$donnees['id']. '">Commentaires '.$nbcom[0].'</a><br/>';
moderno31
Messages postés
872
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
7 juil. 2009 à 08:31
7 juil. 2009 à 08:31
Suit ce que te dis le père.. J'avoue etre un peu perdu là
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 à 09:18
7 juil. 2009 à 09:18
Si je met $nbcom[0] cela va m'afficher 0 à toutes les news alors que certaine ont déjà des commentaires.
@moderno31 Ok pas de souci merci quand même.
@moderno31 Ok pas de souci merci quand même.
Ozimandias
Messages postés
505
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
46
7 juil. 2009 à 09:38
7 juil. 2009 à 09:38
Essaye ça:
$retourr = mysql_query('SELECT * FROM commentaires WHERE idnews=\''.$donnees['id'].'\''); $nbcom = mysql_num_rows($retourr); // ici, $nbcom contient le nombre d'enregistrements présents dans ta requète
Pourquoi ça afficherait toujours 0 ? Si ta requête te retourne un nombre, ça va afficher ce nombre.
J'ai l'impression que tu n'as pas encore saisi que le mysql_fetch_array te retournait TOUJOURS un array (sauf quand il n'y a plus rien), même s'il y a un seul nombre dans la réponse. Et de même que tu utilises les informations extraites avec mysql_fetch_array avec un indice (par exemple tu utilises $donnes['auteur'], pas $donnees tout court), tu dois utiliser un indice pour accéder au contenu de $nbcom. Et comme il y a un seul élément, cet indice c'est 0
J'ai l'impression que tu n'as pas encore saisi que le mysql_fetch_array te retournait TOUJOURS un array (sauf quand il n'y a plus rien), même s'il y a un seul nombre dans la réponse. Et de même que tu utilises les informations extraites avec mysql_fetch_array avec un indice (par exemple tu utilises $donnes['auteur'], pas $donnees tout court), tu dois utiliser un indice pour accéder au contenu de $nbcom. Et comme il y a un seul élément, cet indice c'est 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 à 10:04
7 juil. 2009 à 10:04
Si j'ai bien sais que mysql_fetch_array me donne un array si je le met seul, mais ne sachant pas quoi récupérer je l'ai mis tout seul.
Maintenant j'ai essayé votre proposition $nbcom[0] et sa m'affiche 0 à toutes les news.
@ozimandias Je veut bien essayer mais a quoi sert ceci mysql_num_rows je ne l'ai jamais utilisé pour le moment.
Edit: ozimandias: Sa ne marche pas.
Maintenant j'ai essayé votre proposition $nbcom[0] et sa m'affiche 0 à toutes les news.
@ozimandias Je veut bien essayer mais a quoi sert ceci mysql_num_rows je ne l'ai jamais utilisé pour le moment.
Edit: ozimandias: Sa ne marche pas.
Ozimandias
Messages postés
505
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
46
7 juil. 2009 à 11:40
7 juil. 2009 à 11:40
mysql_num_rows sert à conter le nombre d'enregistrements dans le array résultant de ta requète.
Il y a un problème dans ta requête. Tu comptes les news WHERE idnews=\''.$donnees['id'].'\''); mais $donnees ne contint pas d'idnews... c'est le résultat d'un SELECT COUNT *
Remarque : je n'avais pas remarqué que tu avais utilisé un alias, tu peux donc écrire $nbcom['nb_message'] au lieu de $nbcom[0], c'est plus propre (même si ça ne change pas grand chose)
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 à 10:27
7 juil. 2009 à 10:27
Non je compte les messages dans commentaire ou idnews est égale à l'id de la news.
$retourr = mysql_query('SELECT COUNT(*) AS nb_message FROM commentaires WHERE idnews=\''.$donnees['id'].'\'');
$donnees['id'] correpond à l'id de la news.
Oui je sais que $donnees ne contient pas d'idnews. Je l'ai mis quelques part ?
$retourr = mysql_query('SELECT COUNT(*) AS nb_message FROM commentaires WHERE idnews=\''.$donnees['id'].'\'');
$donnees['id'] correpond à l'id de la news.
Oui je sais que $donnees ne contient pas d'idnews. Je l'ai mis quelques part ?
$donnees['id'] correpond à l'id de la news.
de quelle news ? je ne vois pas où tu l'initialises, donc (sauf si j'ai mal vu) elle est vide, donc tu cherche des commentaires dont l' idnews est vide. Comme ils ont tous (je suppose) un idnews non vide, tu n'en trouves aucun.
Si tu veux afficher les commentaires correspondant à un idnews, il faut bien que tu dises auquel ! Et je ne vois pas où tu le dis.
de quelle news ? je ne vois pas où tu l'initialises, donc (sauf si j'ai mal vu) elle est vide, donc tu cherche des commentaires dont l' idnews est vide. Comme ils ont tous (je suppose) un idnews non vide, tu n'en trouves aucun.
Si tu veux afficher les commentaires correspondant à un idnews, il faut bien que tu dises auquel ! Et je ne vois pas où tu le dis.