Page 1 sur 1
Récupération des données d'une requete
Posté : 28 avr. 2021, 12:46
par JAG11
Bonjour
je souhaite récupérer dans des variables, les données d'une requête.
Mais je bug quelque part. Pouvez-vous m'aider?
Code : Tout sélectionner
$connect = $db->prepare("SELECT Id_Assos,Id_Droit FROM `t_bureau` WHERE Identifiant=:Identifiant");
$connect->bindValue(':Identifiant', $Identifiant, PDO::PARAM_STR);
$connect->execute();
$session = $connect->fetchAll(PDO::FETCH_ASSOC);
$Assos = $session['Id_Assos'];
echo '<pre>';
print_r($Assos);
echo '</pre>';
Erreur obtenue à la ligne 52
Remarque: Index non défini: Id_Assos dans E: \ FFMO \ registration \ register.php à la ligne 52
Re: Récupération des données d'une requete
Posté : 28 avr. 2021, 13:23
par Figuedi
petite remarque en passant la variable $session est assez proche de la globale $_SESSION et il se peut que cela perturbe un peu tes reflexions (en tout cas les miennes c'est sûr).
si la ligne 52 est bien celle là : $Assos = $session['Id_Assos'];
alors rajoutes y // devant pour que tu puisses voir ca qu'il y a dans le tableau de résultat $Assos
Re: Récupération des données d'une requete
Posté : 28 avr. 2021, 13:51
par or 1
https://www.php.net/manual/fr/pdostatement.fetchall.php
"Retourne un tableau contenant toutes les lignes du jeu d'enregistrements "
https://www.php.net/manual/fr/pdostatement.fetch.php
"Récupère la ligne suivante d'un jeu de résultats PDO"
la requête ne retourne qu'une ligne de résultat, ce qui n'empêche pas d'utiliser fetchall mais il faut accéder aux données en sachant que c'est un tableau de tableaux.
Re: Récupération des données d'une requete
Posté : 28 avr. 2021, 14:51
par shadowwera
Salut !
L'idéal pour savoir d'où peut venir l'erreur est de print_r ton $session
Ainsi tu pourrais plus facilement voir d'où viens le problème et comment sont récupéré tes valeurs.
Re: Récupération des données d'une requete
Posté : 28 avr. 2021, 19:12
par JAG11
En fait dans mon site j'en suis à la variable $_session.
Le but est:
l'utilisateur a saisie son identifiant et à partir de cette identifiant je veux récupérer Id_Assos et Id_Droit .
Ces 2 données vont permettre de naviguer dans le site de manière différente:
- Id_Assos : permet d'accèder à des informations de sa propre association.
Id_Droit : permet d'accèder à des fonctionnalités particulières
J'ai donc mon code (que je viens de corriger et compléter):
Code : Tout sélectionner
$connect = $db->prepare("SELECT Id_Assos, Id_Droit FROM `t_bureau` WHERE Identifiant=:Identifiant");
$connect->bindValue(':Identifiant', $Identifiant, PDO::PARAM_STR);
$connect->execute();
$session = $connect->fetchAll(PDO::FETCH_ASSOC);
echo '<pre>';
print_r($session);
echo '</pre>';
$_SESSION['Id_Assos']= ????
$_SESSION['Id_Droit']= ????
header("Location: ../index.php");
Et je ne sais pas comment remplacer mes ????.
Une idée?
Re: Récupération des données d'une requete
Posté : 28 avr. 2021, 19:19
par or 1
Re: Récupération des données d'une requete
Posté : 29 avr. 2021, 13:54
par JAG11
Bonjour
j'espère que la logique est bonne
Code : Tout sélectionner
$connect = $db->prepare("SELECT * FROM `t_bureau` WHERE Identifiant=:Identifiant");
$connect->bindValue(':Identifiant', $Identifiant, PDO::PARAM_STR);
$connect->execute();
foreach ($connect as $session) {
$_SESSION['Id_Assos'] = $session['Id_Assos'];
$_SESSION['Id_Droit'] = $session['Id_Droit'];
$_SESSION['Identifiant'] = $session['Identifiant'];
}
Re: Récupération des données d'une requete
Posté : 29 avr. 2021, 15:06
par or 1
qu'est-ce qu'il y a dans le message pointé ?
$sql = "SELECT * FROM t_associations
INNER JOIN t_type_assos ON t_associations.Id_Type_Assos = t_type_assos.Id_Type_Assos
INNER JOIN t_assos_mere ON t_associations.Id_Assos_Mere = t_assos_mere.Id_Assos_Mere
WHERE `Id_Assos`=:Id_Assos;";
$query = $db->prepare($sql);
$query->bindValue(':Id_Assos', $_GET['Id_Assos'], PDO::PARAM_INT);
$query->execute();
$result = $query->fetch();
et un peu plus loin :
$result['Id_Type_Assos']
Re: Récupération des données d'une requete
Posté : 29 avr. 2021, 16:23
par JAG11
Voici j'ai modifié pour plus de clarté
Code : Tout sélectionner
foreach ($connect as $données) {
$_SESSION['Id_Assos'] = $données['Id_Assos'];
$_SESSION['Id_Droit'] = $données['Id_Droit'];
$_SESSION['Identifiant'] = $données['Identifiant'];
}
En faisant comme ceci je pense pouvoir récupérer mes valeurs de session dans un autre fichier comme ceci:
Code : Tout sélectionner
session_start();
$Droit=$_SESSION['Id_Droit'];
echo '<pre>';
print_r($Droit);
echo '</pre>';
Re: Récupération des données d'une requete
Posté : 29 avr. 2021, 16:25
par JAG11
qu'est-ce qu'il y a dans le message pointé ?
$sql = "SELECT * FROM t_associations
INNER JOIN t_type_assos ON t_associations.Id_Type_Assos = t_type_assos.Id_Type_Assos
INNER JOIN t_assos_mere ON t_associations.Id_Assos_Mere = t_assos_mere.Id_Assos_Mere
WHERE `Id_Assos`=:Id_Assos;";
$query = $db->prepare($sql);
$query->bindValue(':Id_Assos', $_GET['Id_Assos'], PDO::PARAM_INT);
$query->execute();
$result = $query->fetch();
et un peu plus loin :
$result['Id_Type_Assos']
Je ne comprend pas très bien la demande?