Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 07/09/2011, 02h08   #1
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
Par défaut Récupérer un paramètre via un lien

bonsoir à tous,
nul doute que la reponse à ma question se trouve deja sur le forum mais je ne la trouve pas donc je m'adresse à vous directement !

voici mon 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php	
/* connexion au serveur et à la base de données et requete de selection sur la table services*/
		$user="root"; 
		$host="localhost";
		$password="";
		$database="rdv_patient";
 
		$connexion = mysql_connect ($host,$user,$password)
								or die ("Connexion au serveur impossible");
		$db=mysql_select_db($database,$connexion)
								or die ("selection de la base de données impossible");
		$sql = " SELECT id,nom,prenom,naissance,sexe,chambre from patients where id_uf='$_POST[services]' and enable = '1' order by chambre";
		$result = mysql_query($sql) or die ("Impossible d’exécuter la requete");
		if ($result == 0)
		echo("<b>La table des patients est vide !!!!</b>");
		else
		{
?>
		<!-- tableau affichant le resultat de la requête -->
		<table border="1">
			<tr><td><b> Liste des patients UF:<?php echo $_POST['services'];?></b></td></tr>
		</table>
		<table border="1">
			<tr><td>id</td><td>Nom</td><td>Prenom</td><td>Naissance</td><td>sexe</td><td>chambre</td></tr>
 
<?php
 
for ($i = 0; $i < mysql_num_rows($result); $i++) {
	echo ("<tr>");
	$row_array = mysql_fetch_row($result);
		for ($j = 0; $j < mysql_num_fields($result); $j++) {
			echo ("<td>") .$row_array[$j]. "</td>";
		}
 
			echo "<td> <a href='voir_examen.php?id=$id'>voir</a></td>";
			echo ("</tr>");
}		
?>		
		</table>
<?php } ?>
 
</body>
</html>
donc je résume je créer un tableau et je récupère dans ce tableau les différents champs de ma table patient. la boucle for me permet d'une par de compter le nombre d'enregistrement dans ma table et d'autre par me permet de compter le nombre de champs à récupérer.
jusqu'ici pas de soucis.
afin de visualiser la fiche de mon patient j'ai ajouter un lien dans mon tableau.
voici ma question :
pourquoi je n'arrive pas à récupérer le paramètre id ? ce paramètre doit me permettre de m'assurer que je suis bien sur la bonne fiche choisis !
si vous avez une réponse merci de votre aide !
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 03h05   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
commence par faire un code propre, travaille toujours avec le niveau d'erreur maxium
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 08h28   #3
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
Citation:
Envoyé par stealth35 Voir le message
commence par faire un code propre, travaille toujours avec le niveau d'erreur maxium
explique moi ce qui n'est pas propre dans mon code ! je ne comprends pas ta reponse
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 08h40   #4
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Quelque chose qu'on apprend les premiers jours quand on étudie l'informatique :

L'indentation
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 13h12   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par herve911 Voir le message
explique moi ce qui n'est pas propre dans mon code ! je ne comprends pas ta reponse
+1 pour Bisûnûrs
  • les balises sont des fois en majuscules des fois en minuscules pourquoi ?
  • echo "$_POST[services]" pourquoi mettre des " ?
  • $_POST[services] pourquoi ne pas mettre des ' autour de services ?
  • $result == 0 pourquoi tester avec 0 sachant que mysql_result renvoie
  • false en cas d'erreur ?
  • pourquoi faire 2 boucle for ? alors que c'est plus simple avec while + foreach
  • ton erreur_reporting doit avoir la valeur maximum donc E_ALL | E_STRICT ou -1

pour ton problème $id n'existe pas dans ton code, montre le reste
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 13h19   #6
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
j'avoue que je ne m'étais pas rendu compte de tout ça !
je vais reprendre le code et proposer un code plus propre et plus dans les normes !
merci de vos critiques constructives ça fait avancer et à ce soir !

j'ai édité mon code j’espère que ça ira !

Citation:
les balises sont des fois en majuscules des fois en minuscules pourquoi ?
j'ai tout mis en minuscule....il n'y avait pas de raisons particulières à ça !
Citation:
echo "$_POST[services]" pourquoi mettre des " ?
$_POST[services] pourquoi ne pas mettre des ' autour de services ?
en faite j'avais mis un bout de code pour voir si mon paramètre passé bien de page en page ! et j'ai fait un copié collé. puisque mon paramètre passé bien il n'y avait pas raison à un bug !
Citation:
$result == 0 pourquoi tester avec 0 sachant que mysql_result renvoie false en cas d'erreur ?
pourquoi faire 2 boucle for ? alors que c'est plus simple avec while + foreach
les deux boucles for : une première fois je compte le nombre d'occurrence dans la table s'il y en a pas j'affiche rien sinon j'affiche toutes les occurrences trouvées la seconde sert à compter les champs et qui seront alimentés(la je sais pas si je me suis bien exprimé....) alors peut etre qu'une boucle while + foreach est plus simple...mais ça m'a parus plus "logique (!!!???!!!) avec cette double boucle imbriqué !
Citation:
ton erreur_reporting doit avoir la valeur maximum donc E_ALL | E_STRICT ou -1
je n'ai pas de rapport d'erreur autre que variable $id non defini !
bon j'avoue j'ai du mal avec les variables en php...je ne sais jamais à quel moment je dois les declarer !

merci de votre aide
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 01h22   #7
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
bon finalement j'ai fait ça..... il me semble que ça tourne qu'en dites vous ?

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
 
echo "<html>";
echo "<head>";
echo "<title>rdv_patient</title>";
echo "</head>";
 
echo "<body>";
 
/* connexion au serveur et à la base de données et requete de selection sur la table services*/
		$user="root"; 
		$host="localhost";
		$password="";
		$database="rdv_patient";
 
		$connexion = mysql_connect ($host,$user,$password)
								or die ("Connexion au serveur impossible");
		$db=mysql_select_db($database,$connexion)
								or die ("selection de la base de données impossible");
		$sql = " SELECT id,nom,prenom,naissance,sexe,chambre from patients where id_uf='$_POST[services]' and enable = '1' order by chambre";
		$result = mysql_query($sql) or die ("Impossible d’exécuter la requete");
 
		if ($result == 0)
		echo("<b>La table des patients est vide !!!!</b>");
		else
		{
			/*tableau affichant le resultat de la requête */
			echo "<table border='1'>";
			echo "<tr><td><b> Liste des patients UF: $_POST[services] </b></td></tr>";
			echo "</table>";
			echo "<table border='1'>";
			/*<tr><td>id</td><td>Nom</td><td>Prenom</td><td>Naissance</td><td>sexe</td><td>chambre</td></tr>*/
 
			while ($patient = mysql_fetch_array ($result))
			{
				$id = $patient['id'];
				$nom = $patient['nom'];
				$prenom = $patient['prenom'];
				$naissance = $patient['naissance'];
				$sexe = $patient['sexe'];
				$chambre = $patient['chambre'];
				echo "<tr>";
				echo "<td>$id</td>";
				echo "<td>$nom</td>";
				echo "<td>$prenom</td>";
				echo "<td>$naissance</td>";
				echo "<td>$sexe</td>";
				echo "<td>$chambre</td>";
				echo "<td>";
				echo"<a href='voir_examen.php?id=$id'>voir</a>";
				echo"</td>";
				echo "</tr>";
			}
			echo "</table>";
		}
echo "</body>";
echo "</html>";		
?>
voila si vous voyez des erreures merci de me signaler !
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 15h48   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
met tes quotes t'a toujours pas monter ton niveau d'erreur

c'est $_POST['services']
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 20h27   #9
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
salut stealth,
merci de ta réponse mais j'ai monté mon niveau d'erreur
j'ai mis ça :
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
<?php
 
// Désactiver le rapport d'erreurs
//error_reporting(0);
 
// Rapporte les erreurs d'exécution de script
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
// Rapporter les E_NOTICE peut vous aider à améliorer vos scripts
// (variables non initialisées, variables mal orthographiées..)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
 
// Rapporte toutes les erreurs à part les E_NOTICE
// C'est la configuration par défaut de php.ini
error_reporting(E_ALL ^ E_NOTICE);
 
// Reporte toutes les erreurs PHP (Voir l'historique des modifications)
error_reporting(E_ALL);
 
// Reporte toutes les erreurs PHP
error_reporting(-1);
 
// Même chose que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
 
?>
pour les quote lorsque je les mets voila ce que j' obtient :
Citation:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\rdv_patient\rdv_service.php on line 59
alors que sans les quote ça va.....
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 20h36   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
juste error_reporting(-1); suffit tu ecrases la valeurs a chaque fois sinon ...

pour le reste c'est normale tu dois échapper les quotes dans les chaines quotées, je te conseil de mettre du PHP dans du HTML que l'inverse
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 20h48   #11
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
ok je fais ça illico et je te dis comment ça marche !

bon ça marche bien merci à tous je crois que j'ai compris comment ça fonctionnait au niveau des appel de variables je vais donc continuer mes recherche et je vais tacher de faire du code plus propre !
herve911 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 22h11.


 
 
 
 
Partenaires

Hébergement Web