Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/08/2011, 11h00   #1
Nouveau Membre du Club
 
karine bazin
Inscription : juillet 2010
Messages : 90
Détails du profil
Informations personnelles :
Nom : karine bazin

Informations forums :
Inscription : juillet 2010
Messages : 90
Points : 25
Points : 25
Par défaut un élément n'est pas pris en compte

Bonjour,

Je n'arrive pas à trouver l'erreur alors je me permet de vous poser la question.

voilà dans le code suivant tout fonctionne correctement sauf que cela oublie toujours d'afficher le premier bouton!

Lorsque ma requête me retourne 3 rapports, il n'y en a que deux qui s'affichent en bouton, je ne vois pas pourquoi

voici le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
<?php 
	try
   {
     $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=easyreport', 'root', '', $pdo_options);
 
        $reponse = $bdd-> query('SELECT idrapport, nompatient, daterapport FROM rapport WHERE iddirecteur=0 ORDER BY daterapport');
	    	if (FALSE === ($donnees = $reponse->fetch())) {
  	echo 'Aucun rapport à corriger pour le moment';
} else { 
	while ($donnees = $reponse->fetch())
    {
		?>
	<form action="correctionreport.php" method="post">
	<input type="submit" name= " <?php echo $donnees['idrapport'] ?>" value=" <?php echo $donnees['nompatient'].' '.$donnees['daterapport'] ?> "/> </br>
	<input type="hidden" name="id" value=" <?php  echo $donnees['idrapport'] ?> " /> 
	</br>
	</form>
	<?php 
 
    }	
	$reponse->closeCursor(); 
}
}
catch(Exception $e)
    	{
  die('Erreur : '.$e->getMessage());}
   ?>
Si vous avez des idées je veux bien, merci
kbazin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 11h18   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
C'est une itération do/while et non while ici qu'il faut. Sinon vous passez directement au deuxième résultat avec le while, sans avoir réellement exploité le premier (lu dans le if).

Code :
1
2
3
4
5
6
7
if (FALSE === ($donnees = $reponse->fetch())) {
    echo 'Aucun rapport à corriger pour le moment';
} else {
    do {
        // utiliser $donnees
    } while ($donnees = $reponse->fetch());
}
julp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/08/2011, 02h12   #3
Nouveau Membre du Club
 
karine bazin
Inscription : juillet 2010
Messages : 90
Détails du profil
Informations personnelles :
Nom : karine bazin

Informations forums :
Inscription : juillet 2010
Messages : 90
Points : 25
Points : 25
OK

Merci pour ton aide
kbazin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h08.


 
 
 
 
Partenaires

Hébergement Web