Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
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 19/12/2011, 17h06   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 5
Points : 0
Points : 0
Par défaut Récupérer une valeur

Bonjour tout le monde!
Je suis en train de réaliser une petite application simple qui me permet de récupérer des informations dans ma BDD.
Dans ma classe:
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
public function RecupXpproById($idCandidatPK)
			{
 
				$connexion  = Connexion::creerConnexion();	
 
 
				$creationRequete = "SELECT * FROM xppro WHERE idCandidatFK = ?";
 
 
 
 
				$requete = $connexion->prepare($creationRequete);
 
 
				$donneesRequete = array();
				$donneesRequete[0] = $idCandidatPK;
 
 
 
				$executionRequete = $requete->execute($donneesRequete);
 
 
				$resultatsRequeteXppro = $requete->fetchAll(PDO::FETCH_ASSOC);
 
 
 
				$_SESSION['NbreXpPro']=count($resultatsRequeteXppro);
 
 
				// boucle qui permet de récupérer les infos de XPpro en tenant compte de la variabilité du nombre d'expériences
 
				//On se base sur le nombre d'items (voir ci-dessus) auquel on retire 1 puisque le tableau commence à 0
				$temp=($_SESSION['NbreXpPro']-1);
 
				for($i = 0; $i <= $temp; $i++)
				{
					//création d'une variable qui permettra de stocker les infos
 
				$varTemp="id"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['id'];
 
				$varTemp="nomDuPoste"  . $i ;
				// et on initialise la valeur de la variable crée en pointant sur le tableau à deux entrées
				//$i servant de premier pointeur 
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['nomDuPoste'];
 
 
				$varTemp="employeur"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['employeur'];
 
 
				$varTemp="dateDebutXp"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['dateDebutXp'];
 
				$varTemp="dateFinXp"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['dateFinXp'];
 
				$varTemp="lieuXp"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['lieuXp'];
 
				$varTemp="descriptionPoste"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['descriptionPoste'];
 
				$varTemp="lienXp"  . $i ;
				$_SESSION[$varTemp]=$resultatsRequeteXppro[$i]['lienXp'];
 
 
 
				}
 
 
 
					$connexion= null;
			}
Quand j'essaie d'accéder aux valeurs que je veux depuis un autre fichier:
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
 
$temp=($_SESSION['NbreXpPro']-1);
        	for($i = 0; $i <= $temp; $i++)
		{
 
       $varTemp = "id" .$i ;
       $codeHTML .= $_SESSION[ $varTemp];
 
 
       $varTemp ="dateDebutXp"  . $i ;
       $codeHTML .= $_SESSION[ $varTemp];
       $codeHTML .= ' à ';
       $varTemp = "dateFinXp"  . $i ;
       $codeHTML .=  $_SESSION[ $varTemp];
       $codeHTML .= ' ';
       $varTemp ="nomDuPoste"  . $i ;
       $codeHTML .= $_SESSION[ $varTemp];
       $codeHTML .= ' à ';
       $varTemp = "employeur"  . $i ;
       $codeHTML .= $_SESSION[ $varTemp];
       $codeHTML .= '<br/>';
       $codeHTML .= 'poste basé à ';
       $varTemp = "lieuXp"  . $i ;
       $codeHTML .= $_SESSION[ $varTemp];
       $codeHTML .= '<br/>';
       $codeHTML .=  'lien internet : ';
       $varTemp = "lienXp"  . $i ;
       $codeHTML .=  $_SESSION[ $varTemp];
       $codeHTML .= '<br/>';
       $codeHTML .=   'Descriptif du poste : ';
       $varTemp = "descriptionPoste"  . $i ;
       $codeHTML .=  $_SESSION[ $varTemp];
       $codeHTML .= '<br/>';
 
 
 
		   echo $codeHTML;
      	}
Je récupère toute les infos sauf celle qui concerne
Code :
1
2
3
 
$varTemp = "id" .$i ;
$codeHTML .= $_SESSION[ $varTemp];
Je ne vois pas comment récupérer cette valeur... Quelqu'un peut m'aider s'il vous plait ? =)
Merci ^^
Indian Spirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 18h55   #2
Membre confirmé
 
Homme Clément
Développeur informatique
Inscription : décembre 2006
Messages : 213
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 213
Points : 277
Points : 277
Pourquoi juste un problème avec celle là et pas les autres ? Je ne le sais pas non plus^^

Un petit
devrait te permettre d'y voir plus clair. Vérifie que ta variable de session contient bien ce que tu crois qu'elle contient.
Tu peux vérifier ça : après l'initialisation et avant l'affichage.

RQ : c'est un peu spécial comme manière de faire, mettre les résultats d'une requête dans une variable de session pour les afficher ensuite. Pourquoi fais-tu cela ?
Climoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 21h50   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 5
Points : 0
Points : 0
Merci pour la réponse =)
Oui en effet, j'ai bien ce que je veux dans ma ma variable $_SESSION.
J'ai vérifié avec var_dump.

Citation:
RQ : c'est un peu spécial comme manière de faire, mettre les résultats d'une requête dans une variable de session pour les afficher ensuite. Pourquoi fais-tu cela ?
J'ai une section membre, dans laquelle toutes mes données s'affichent sur plusieurs pages. C'est pour ça que je stock toutes les informations dans ma variable $_SESSION pour les afficher sur n'importe quelle page de l'espace membre.

Ta question à le mérite de me faire voir une autre solution =)
Je vais passer par une requête sql simple pour récupérer cette valeur là

Mais si tu as une idée pour mon problème initial, je suis preneur ^^
Indian Spirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 08h56   #4
Membre confirmé
 
Homme Clément
Développeur informatique
Inscription : décembre 2006
Messages : 213
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 213
Points : 277
Points : 277
Pas de quoi

Pour ton problème initial, difficile à dire, ton code a l'air correct !
Si dans $_SESSION["id".$i], tu as bien ce que tu veux dans tes deux bouts de code, mais que ton $codeHTML ne contient pas ce qu'il faut...
tu as essayé :
Code :
1
2
3
4
 
$varTemp = "id" .$i ;
var_dump($_SESSION[ $varTemp]);
$codeHTML .= $_SESSION[ $varTemp];
Et le var_dump() t'affiche bien ce que tu veux ?

L'inconvénient que je vois à ta solution, c'est que si jamais les données de la table idCandidatFK sont modifiés (est-ce possible?), ton utilisateur ne le saura pas sans fermer sa session.
Ta solution a cependant l'avantage d'éviter de faire une requête sur la base de données à chaque fois que l'utilisateur arrive sur une page. Ce qui au niveau performance, est plutôt bien. Cela dit, vu la tête de ta requête (rien de compliqué), ça passerait sans doute inaperçu si tu l'exécutais à chaque fois.
A toi de voir donc...
Climoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h18.


 
 
 
 
Partenaires

Hébergement Web