8771 sujets
Développement web côté serveur, CMS
Bzh a raison cela ce fait mais bon ...
J'ai complété ton code pour qu'il fasse ce que tu veux, j'espère qu'il te servira pour aller plus loin.
Les tutos, les forums c'est super, mais essais de trouver un bon petit bouquin avec les bases php-mysql tu progressera plus vite...
note:
- La page s'appelle elle même (action="index2.php")
- j'ouvre une session pour stocker les données sélectionnées dans un panier
- l'encodage json se fait avec des doubles quote par défaut il faut donc l'encadrer avec des simples quotes dans le html "...( value='".$jsonData."'>)
- il y a un bouton pour vider le panier sinon....etc...
Maintenant je crois que l'on sort un peu du sujet du POST initial ...
Bonne journée,
a plus
J'ai complété ton code pour qu'il fasse ce que tu veux, j'espère qu'il te servira pour aller plus loin.
Les tutos, les forums c'est super, mais essais de trouver un bon petit bouquin avec les bases php-mysql tu progressera plus vite...
note:
- La page s'appelle elle même (action="index2.php")
- j'ouvre une session pour stocker les données sélectionnées dans un panier
- l'encodage json se fait avec des doubles quote par défaut il faut donc l'encadrer avec des simples quotes dans le html "...( value='".$jsonData."'>)
- il y a un bouton pour vider le panier sinon....etc...
Maintenant je crois que l'on sort un peu du sujet du POST initial ...
Bonne journée,
a plus
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body><form id="form1" method="post" action="index2.php">
<p>
<select name="l" id="l">
<?php
//Ouverture/création de la session pour stocker le panier dans $_SESSION
session_start();
//Si le bouton init est utilisé le panier est détruit
if (isset($_POST['init'])) {
unset($_SESSION['panier']);
}
$connexion = new PDO('mysql:host=127.0.0.1;dbname=basetest','root','xxx');
$connexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql='SELECT * FROM Choix JOIN Articles ON Choix.l = Articles.l';
$result=$connexion->prepare($sql);
$result->execute();
while ($data = $result->fetch()) {
$jsonData=json_encode($data);
echo "<option value='".$jsonData."'>". $data['diametre']. " - " . $data['d']."</option>";
}
//Si le bouton valider l'article est ajouté au panier
if (isset($_POST['valider']) and isset($_POST['l'])) {
$_SESSION['panier'][]=$_POST['l'];
}
?>
</select>
<input name="valider" type="submit" value="Valider">
<input name="init" type="submit" value="Initialiser la session">
</p>
<div>PANIER:<br/>
<?php
if (isset($_SESSION['panier'])) {
foreach ($_SESSION['panier'] as $jsonData) {
$articleDuPanier= json_decode($jsonData,true);
echo $articleDuPanier['diametre']." - ".$articleDuPanier['d']."<br/>";
}
}
?>
</div>
</form>
<?php
/* Test variable */
//print_r($data);
?>
</body>
</html>
Ca fonctionne en version test, mais on peut pas faire plus simple ?
Mon code était pas bon ?
Merci beaucoup pour ton aide, je vais étudier ton code.
C'est super sympa, mais un peu compliqué pour moi pour arriver à mettre en place. L'idéal aurait que j'arrive à faire fonctionner mon bout de code. Quoi qu'il en soit, je vais étudier ton code avec la plus haute attention. Je suis pas pro, et à mon niveau, il faut que je comprenne les lignes de code. Merci encore pour ta patience et ton aide.
Le panier fonctionne sur mon site, c'est juste pour faire tourner ce sacré bout de code avec.
Modifié par Tintin75 (18 Mar 2017 - 15:59)
Mon code était pas bon ?
Merci beaucoup pour ton aide, je vais étudier ton code.
C'est super sympa, mais un peu compliqué pour moi pour arriver à mettre en place. L'idéal aurait que j'arrive à faire fonctionner mon bout de code. Quoi qu'il en soit, je vais étudier ton code avec la plus haute attention. Je suis pas pro, et à mon niveau, il faut que je comprenne les lignes de code. Merci encore pour ta patience et ton aide.
Le panier fonctionne sur mon site, c'est juste pour faire tourner ce sacré bout de code avec.
Modifié par Tintin75 (18 Mar 2017 - 15:59)