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

PHP & Base de données Discussion :

récupérer les donnes d'une session pour afficher la table? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut récupérer les donnes d'une session pour afficher la table?
    Bonsoir, je souhaite récupérer les donnée d'une session d'un panier (j'ai utiliser la classe panier sur ce site dans la rubrique "comment faire un panier")
    voici ce que j'ai dans mon 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
     
    Array
    (
        [id_article] => Array
            (
                [0] => 25
            )
     
        [libelleProduit] => Array
            (
                [0] => montre
            )
     
        [qteProduit] => Array
            (
                [0] => 5
            )
     
        [prixProduit] => Array
            (
                [0] => 84217
            )
     
        [verrou] => 
    )
    j'aimerais extraire ces informations pour ensuite utiliser cette classe:
    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
     
    //Tableau simple
    function BasicTable($header,$data)
    {
        //En-tête
        foreach($header as $col)
            $this->Cell(40,7,$col,1);
        $this->Ln();
        //Données
        foreach($data as $row)
        {
            foreach($row as $col)
                $this->Cell(40,6,$col,1);
            $this->Ln();
        }
    }
    comment je peux m'en sortire, quelle acheminement je dois faire, merci de me guider et merci de vos réponses

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faudrait retravailler ton panier pour avoir l'index des articles en premier :

    Array
    (
    [0] => Array( [id_article] => 25,
    [libelleProduit] => montre
    [qteProduit] => 5
    .......
    )
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    merci de ta réponse sabotage

    voici comment est crée ce panier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function creationPanier(){
    	   if (!isset($_SESSION['panier'])){
          $_SESSION['panier']=array();
          $_SESSION['panier']['id_article'] = array();
          $_SESSION['panier']['libelleProduit'] = array();
          $_SESSION['panier']['qteProduit'] = array();
          $_SESSION['panier']['prixProduit'] = array();
          $_SESSION['panier']['verrou'] = false;
     
       }
       return true;
    }
    faut t'il que j'essaye directement de modifier ce panier sur cette classe?
    ou que je j'extrais tous ce panier et que je le recompose?

    D'après moi si je fait la première solution, je vais chambouler toute mon script d'achat.

    si je ne touche pas à la création mais que je remodel ce panier va falloir que je trouve une facon de le faire.

    Il y a aussi une troisième méthode peut être que c'est faisable mais je sais pas si ca va ralentire mon code et de faire des executions inutiles:

    La class Basic table provient d'un exemple de fpdf, avant d'executer cette class, il récupère un fichier en .txt avec des données qui contient des points virgule, et des retour chariot, ensuite il passe dans une moulinette il le range dans un tableau à l'aide des points virgule et il passe dans la class basic table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Chargement des données
    function LoadData($file)
    {
        //Lecture des lignes du fichier
        $lines=file($file);
        $data=array();
        foreach($lines as $line)
            $data[]=explode(';',chop($line));
        return $data;
    }
    $data=$pdf->LoadData('pays.txt');
    donc je pensait faire:
    -1 j'enregistre mon panier dans ma bdd
    -2 je récupère ce panier avec une requet sql (je pense que je dois aussi utilier la jointure)
    -3 une fois récupérer je dois trouver comment crée un fichier txt qui sera temporaire, je l'effacerais car il sera inutile.
    -4 je doit réaliser une moulinette qui crée entre les données des point virgule et des retours chariot et ecrire dans ce fichier.
    -5 j'utilise la fonction toute prête de l'exemple fpdf.

    Que pense tu des ces 3 solutions, quelle est la meilleur a utiliser?

    sinon est ce que cette modif pourrais aller?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $_SESSION['panier']=array(0=>$_SESSION['panier']);
    ?>
    par contre j'ai trouvé comment m'y prendre pour avoir $header :
    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
     
    //on met la session panier dans une variable
    $tab=$_SESSION['panier'];
     
    //on définie que  $header sera un array
     
    $header=array();
     
    $i=0;
    $n_panier=count($_SESSION['panier']['id_article']);
     
     
    echo "nombre d'article commender".$n_panier;
     
    foreach ($tab as $cle=>$valeur)
    {	
    		$header[]=$cle;
    		$i++;
    		print ("$cle=$valeur <br/>");
     
     
    }

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    Encore merci a toi sabotage grace a tois j'ai réussi a afficher un petit tableau



    je suppose que un pro le fait en 30 seconde moi je l'ai trouvé en cherchant 12H! je suis trop null!! j'espère que ce petite exercice m'apprendre a maitriser un peu mieux les tableaux, car en php y a que ca!!

    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
     
    <?php
    require('../pdf/fpdf.php');
    session_start();
    //compte le nombre d'article commender
    $n_panier=count($_SESSION['panier']['id_article']);
    $data=array();
    //compte le nombre d'article commender
    $n_panier=count($_SESSION['panier']['id_article']);
    for ($i=0; $i < $n_panier;$i++)
    {
    	$data[]=array("id_article"=>$_SESSION['panier']['id_article'][$i],
                               "libelle"=>$_SESSION['panier']['libelleProduit'][$i],
                           "quantite"=>$_SESSION['panier']['qteProduit'][$i],
    	                         "prix"=>$_SESSION['panier']['prixProduit'][$i]);
    }
     
    class PDF extends FPDF
    {
     
     
    //Tableau simple
    function BasicTable($header,$data)
    {
        //En-tête
        foreach($header as $col)
            $this->Cell(40,7,$col,1);
        $this->Ln();
        //Données
        foreach($data as $row)
        {
            foreach($row as $col)
                $this->Cell(40,6,$col,1);
            $this->Ln();
        }
    }
    }
    //creation des objets
     
    $pdf=new PDF();
    //Titres des colonnes
    $header=array('id_article','designation','quantie','prix');
    //Chargement des données
     
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->BasicTable($header,$data);
    $pdf->Output();
     
     
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/01/2020, 14h21
  2. Réponses: 62
    Dernier message: 16/04/2009, 10h09
  3. Réponses: 0
    Dernier message: 01/04/2009, 10h12
  4. [Delphi for PHP] Récupérer les données d'un Datagrid pour une combobox ou listbox
    Par Truebison dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/08/2007, 09h27
  5. Réponses: 7
    Dernier message: 28/06/2007, 11h08

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