IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer un paramètre via un lien [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 28
    Points
    28
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    commence par faire un code propre, travaille toujours avec le niveau d'erreur maxium

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    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

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 882
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 882
    Points : 16 286
    Points
    16 286
    Par défaut
    Quelque chose qu'on apprend les premiers jours quand on étudie l'informatique :

    L'indentation

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    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

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    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 !

    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 !
    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 !
    $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é !
    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

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    bon finalement j'ai fait ça..... il me semble que ça tourne qu'en dites vous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    met tes quotes t'a toujours pas monter ton niveau d'erreur

    c'est $_POST['services']

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    salut stealth,
    merci de ta réponse mais j'ai monté mon niveau d'erreur
    j'ai mis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    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.....

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    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

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    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 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Integration] Passage paramètres via un lien ou un bouton
    Par mLk92 dans le forum Spring
    Réponses: 0
    Dernier message: 09/10/2012, 13h55
  2. Réponses: 2
    Dernier message: 29/06/2010, 10h04
  3. Comment récupérer la taille d'une image via un lien ?
    Par MaTHieU_ dans le forum Web & réseau
    Réponses: 5
    Dernier message: 17/09/2007, 14h37
  4. [VB]Passer un paramètre via executable et le récupérer
    Par ironik dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/03/2006, 14h36
  5. Réponses: 1
    Dernier message: 29/03/2006, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo