Affichage à partir de la base de données php

Fermé
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012 - 3 avril 2012 à 19:28
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012 - 3 avril 2012 à 22:29
Bonjour,

SVP j'ai un probléme qui me géne, lorsque j'execute mon programme php pour afficher des données de la base de données ça marche, mais lorsque je repete la demande de l'affichage une autre fois il m'affiche n'importe quoi des données qui n'existent pas dans la base!
Que peut etre le probleme?
d'avance Merci
Cordialement

3 réponses

Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
3 avril 2012 à 19:45
Tu peux nous montrer ton code qui fait l'appel et l'affichage de tes données?

Et peut-être aussi nous montrer à quoi ressemble ce "n'importe quoi" qui s'affiche? Ça pourrait nous faciliter la tâche!

Merci!
0
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012
3 avril 2012 à 20:04
c'est bon?
0
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012
3 avril 2012 à 19:53
voici le code:
          <?php
						  $resultatcmt=array();
						  echo "vous avez ".sizeOf($resultatpub)." publication(s)<br>";
				 foreach ($resultatpub as $Valeur)
				{		 
echo "<h3><img src=../userImage/".$Valeur['fichier']." height=100 width=150 title=".$Valeur['descfr']."></h3><h4>Produit:".$Valeur['nomfr']." </h4><h5>".$Valeur['date']."  </h5>--------";
$resultatcmt=Commentaire::getCmt($Valeur['idpub'],$user->id);
echo sizeOf($resultatcmt)." Commentaire(s)---------<br>";
$_SESSION['publication']=$Valeur['idpub'];
foreach ($resultatcmt as $Val)
{
echo "<b>".$Val['identifiant']."</b> a ecrit le <b>".$Val['date']."</b>\"<b>".$Val['contenu']."</b>\"<br>";

next($resultatcmt);
}
echo "<form name=f1 action=ajoutcmt.php method=post><input type=text name=cmt value=ajouter-commentaire><input type=submit value=comment></form>";
echo "<br><hr>";
next($resultatpub);
}

voila donc l'erreur est affiché par la partie en gras
ça m'affiche comme ça:
vous avez 1 publication(s)
[a]
Produit:a
2012-03-11
--------3 Commentaire(s)---------
a a ecrit le a"a"
p a ecrit le p"p"
2 a ecrit le 2"2"

// le [a] est en fait une image affiché
le n'importe quoi est ce (a,p,2) dans les 3 commentaires

Merci bien
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
Modifié par Doctor C le 3/04/2012 à 20:20
Je t'avoue n'avoir jamais vu un next dans une boucle foreach et je crois que ça pourrait causer des problèmes. La boucle devrait déjà s'occuper de faire avancer le pointeur du tableau.

Tu pourrais essayer de retirer le next de ta boucle.

Sinon, tu peux vérifier si ta fonction Commentaire::getCmt fonctionne correctement et si tes données sont correctes dans ta base de données.


Echo "Lima Mike Alfa";
0
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012
3 avril 2012 à 20:34
bon peu etre vous avez raison en ce qui concerne la zone de texte dans le foreach mais dans ce cas j'implemente un cas comme facebook ou des publications seront affichées et sous chacune il yaura les commentaires et sous les commentaires il faudra une zone texte pour que l'utilisateur peut saisir un autre commentaire, Donc on aura besoin d'une boucle pour afficher tous ça, c'est un peu compliqué ! que vous dites concernat ce raisonnement?
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
3 avril 2012 à 20:48
En fait, je ne parle pas de retirer la boucle mais seulement la ligne "next(...)".

Comme ça:

foreach ($resultatcmt as $Val)
{
echo "<b>".$Val['identifiant']."</b> a ecrit le <b>".$Val['date']."</b>\"<b>".$Val['contenu']."</b>\"<br>";
}
0
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012
3 avril 2012 à 20:59
AH je comprends maintenant, j'ai cru que vous parlez du text field, ok
mais j'ai mis le next() pour pointer a la suivante ligne du tableau
Merci encore
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
3 avril 2012 à 21:15
Je suis pas mal certain que le foreach s'en occupe déjà (pointer à la ligne suivante).
0
samn1 Messages postés 77 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 23 avril 2012
3 avril 2012 à 21:33
Merci
je vais tester!
à bientot
0