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 :

ajout dans un tableau de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut ajout dans un tableau de session
    j'essaie d'ajouter 1 unité à la valeur de mon tableau indexer $_SESSION['caddie']
    Mais de cette façon il m'en ajoute par deux, alors que j'attend une incrémentation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		$search_array =$_SESSION['caddie'];
    		if (array_key_exists($_GET['ajouteMoi'], $search_array))
    		{
    			$supr=$_GET['ajouteMoi'];
    		    $_SESSION['caddie'][$supr]++;
    		    //header('Location:'.$_SERVER['PHP_SELF']);
    		}
    		echo '<a href="'.$_SERVER['PHP_SELF'].'?ajouteMoi='.$idSession.'">ajoute</a>';
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Es-tu sûr de toi ?
    Voici mon code de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $_SESSION['caddie'] = array('test1' => 12);
    $sTestVal = 'test1';
    echo 'valeur initiale : ' . $_SESSION['caddie'][$sTestVal] . '<br />';
    $aSearchArray = $_SESSION['caddie'];
    if (array_key_exists($sTestVal, $aSearchArray))
    	$_SESSION['caddie'][$sTestVal]++;
    echo 'valeur finale : ' . $_SESSION['caddie'][$sTestVal] . '<br />';
    Et le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    valeur initiale : 12
    valeur finale : 13
    Ca semble fonctionner, et c'est logique

  3. #3
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    oui mais j'ai besoin de rafraichir la page mais dans une classe pour faire du tout objet, mais j' laisse tomber et je fais:
    page panier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="./panierSuprime.php?suprimer='.$idSession.'">Suprimmer</a>';
    page panierSuprime.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    session_start();
    $search_array =$_SESSION['caddie'];
    if (array_key_exists($_GET['suprimer'], $search_array))
    {
    	$supr=$_GET['suprimer'];
        unset($_SESSION['caddie'][$supr]);
    	header('Location: ./panier.php');
    }
    ?>
    Sa fonctionne mais j'ai besoin d'une méthode...
    Pour ma super classe

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Juste un truc (c'est ptet dû à un copier coller malchanceux) :
    pourquoi tu passes en GET "supprimer" comme étant "idSession" ?? J'aurais plutôt pensé à un des éléments du panier.
    Bon courage pour la suite en tous cas

  5. #5
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    parce que je récupère l'identifiant d'une bdd.
    le résultat ici ::
    http://www.developpus.com/panier/
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <?php 
    require_once('./class/class.panier.php');
    require_once('./class/class.pdo.php');
    require_once('./inc/fonction.php');
    $panier = new Panier();
    $connect = new Connection();
    entete();
    menu();
    //$panier->visionnePanier();?>
    <?php
    if (isset($_SESSION['caddie']) || !empty($_SESSION['caddie'])) 
    {?>
    <table id="tableau">
    	<tr>
    		<th>Image</th><th>Nom</th><th>Description</th><th>Quantité</th><th>Prix</th><th>Poids</th><th>Supresion</th><th>Ajouter</th>
    	</tr>
    	<?php
    	foreach ($_SESSION['caddie'] as $idSession => $quantite)
    	{
    		$totalPoids=0;
    		$$quantitePrix=0;
    		$sql="SELECT * FROM produits WHERE id=$idSession";
    		$result = $connect->select($sql);
    		foreach ($result as $ligne)
    		{
    			$idclient=$ligne['id'];
    			$nom=$ligne['nom'];
    			$description=$ligne['description'];
    			$prix=$ligne['prix'];
    			$image=$ligne['image'];
    			$poids=$ligne['poids'];
    			$stock=$ligne['stock']; // stock total par article avant achat
    			$totalPoids=$poids*$quantite; // prix de chaque article * par sont poids
    			$quantitePrix=$quantite*$prix; // prix de chaque article * par sa quantité
    			$quantite; // prix de chaque article venant de la session
    			echo '
    			<tr>
    				<td>
    					<a href="images/'.$image.'"><img src="images/'.$image.'" alt="'.$image.'" width="100" height="100" /></a>
    				</td>	
    				<td>'.$nom.'</td>
    				<td>'.nl2br($description).'</td>
    				<td>'.$quantite.'&nbsp; X '.$prix.'&euro;</td>
    				<td>'.$quantitePrix.'&nbsp;&euro;&nbsp;</td>				
    				<td>'.$totalPoids.' kg</td>';
    			echo '
    				<td>';
    					echo '<a href="./panierSuprime.php?suprimer='.$idSession.'">Suprimmer</a>';
    			echo '
    				</td>
    				<td>';
     
    		$search_array =$_SESSION['caddie'];
    		if (array_key_exists($_GET['ajouteMoi'], $search_array))
    		{
    			$supr=$_GET['ajouteMoi'];
    		    $_SESSION['caddie'][$supr]++;
    		    //header('Location:'.$_SERVER['PHP_SELF']);
    		}
    		echo '<a href="'.$_SERVER['PHP_SELF'].'?ajouteMoi='.$idSession.'">ajoute</a>';
     
    			echo '</td>
    			</tr>';
    		}
    	}?>
    		<tr>
    			<td><strong>PRIX TOTAL &nbsp;</strong></td>
    			<td><?php echo $totalprix;?>&nbsp;&euro;</td>
    		</tr><tr>
    			<td><strong>QUANTITE TOTAL &nbsp;</strong></td>
    			<td><?php 
    				echo $quantite?>&nbsp;produit(s)
    			</td>
    		</tr><tr>
    			<td>Confirmez votre achat</td>
    		<?php
    		if ($totalprix==0)
    			echo '';
    		else
    		{?>
    			<td>
    				<a href="index.php?page=formulaire">
    					<input type="submit" name="bouton" value="confirmer" />cofirmer achat
    				</a>
    			</td></tr><?php
    		}?>
    	</table>
    <?php 
    }
    $panier->detruitPanier();?>

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/03/2008, 13h22
  2. Réponses: 2
    Dernier message: 21/05/2007, 19h55
  3. [C#] Ajouter dans un tableau d'objet
    Par thomfort dans le forum Windows Forms
    Réponses: 16
    Dernier message: 14/11/2006, 09h56
  4. Réponses: 21
    Dernier message: 28/02/2006, 16h23
  5. Réponses: 16
    Dernier message: 02/12/2005, 11h39

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