Affichage grâce a la value dans une session PHP
kimo
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je cherche a affiche grâce a la value contenue dans ma session des données se trouvant dans ma BDD sous form de card.
J'arrive a réaliser l'affichage avec une seul valeur contenue mais pas toute.
pour recupérer les id :
voici comment j'ajoute dans ma session :
Voici ma function qui me permet de le lire avec une valuer en parametre:
et pour l'affichage ça donne cela :
le soucis c'est que je suis obliger de mettre du coup la key sauf que j'aimerai afficher a l'aide de la value qui sont des id
Je cherche a affiche grâce a la value contenue dans ma session des données se trouvant dans ma BDD sous form de card.
J'arrive a réaliser l'affichage avec une seul valeur contenue mais pas toute.
pour recupérer les id :
$id = $_GET["id"]; if (isset($id)) { addFavorie($id); var_dump($_SESSION['favoris']); }
voici comment j'ajoute dans ma session :
function addFavorie($id) { if (!isset($_SESSION['favoris'])) { $_SESSION['favoris'] = array( ); } $favori = $_SESSION['favoris']; if (!in_array($id, $favori)) { array_push($favori, $id); } $_SESSION['favoris'] = $favori; }
Voici ma function qui me permet de le lire avec une valuer en parametre:
function readVilleFavoris($idFavori) { static $ps = null; $sql = 'SELECT *'; $sql .= ' FROM Villes.villes'; $sql .= ' WHERE idVille = :ID'; if ($ps == null) { $ps = myPdo()->prepare($sql); } $answer = false; try { $ps->bindParam(':ID', $idFavori, PDO::PARAM_STR); if ($ps->execute()) $answer = $ps->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { echo $e->getMessage(); } return $answer; }
et pour l'affichage ça donne cela :
echo villeToHtmlTable(readVilleFavoris($_SESSION['favoris']['0']));
le soucis c'est que je suis obliger de mettre du coup la key sauf que j'aimerai afficher a l'aide de la value qui sont des id
EDIT : Ajout des balises de code
Configuration: Windows / Chrome 96.0.4664.110
A voir également:
- Affichage grâce a la value dans une session PHP
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Windows 11 affichage classique - Guide
- Teamviewer code de session expiré ✓ - Forum Logiciels
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
1 réponse
Bonjour,
En gros, si j'ai bien compris ( ce qui n'est pas sûr...) ..; tu voudrais pouvoir récupérer toutes les données de la bdd de "tous" les ID que tu as mis en SESSION ?
Si tel est le cas, penches toi sur la clause IN en SQL ...
par exemple
Si ce n'est pas ça dont il est question .. merci de reformuler ta question plus clairement...
En gros, si j'ai bien compris ( ce qui n'est pas sûr...) ..; tu voudrais pouvoir récupérer toutes les données de la bdd de "tous" les ID que tu as mis en SESSION ?
Si tel est le cas, penches toi sur la clause IN en SQL ...
par exemple
$arrayOfValues = array(1,2,3,4,5); // ton array d' IDs $id_villes = join("," , array_pad(array(), count($arrayOfValues), "?")); $sql = "SELECT * FROM Villes.villes WHERE idVille IN ($id_villes)"; $ps = myPdo()->prepare($sql); $ps ->execute($arrayOfValues);
Si ce n'est pas ça dont il est question .. merci de reformuler ta question plus clairement...
Le soucis que j'ai c'est que les id sont garder dans le session et je souheterai pouvoir les utiliser afin de pouvoir continuer.
Dans l'exmaple que vous m'avez donnés les id sont dans
$arrayOfValues = array(1,2,3,4,5)
sauf que moi c'est dans ma session. si je fais un var dump de ma session j'obtien ceci :
code:
var_dump($_SESSION['favoris']);
resultat:
array(1) { [0]=> string(1) "1" }
je peux en ajouter et ca donnerai ceci :
array(2) { [0]=> string(1) "1" [1]=> string(1) "2" }
tout simplement...