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 :

Séparer les données reçues en differents tableaux


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Par défaut Séparer les données reçues en differents tableaux
    Bonjour,
    Ma question etant un peu compliquée, je vous explique mon probleme.
    Je suis en train de créer une sorte de site internet permettant de faire les comptes ( depenses nourriture, voyages etc ).
    J ai donc une page permettant a la personne connecte de remplir des champs ( categorie article , nom de l article,prix de l'article, quantite etc ).

    Lorsque la personne a remplie ces champs, et qu elle clique sur "ajouter a la liste", un tableau se rempli et une ligne apparait recapitulant les donnes qu elle a ecrit.
    Elle peut donc recommencer avec autant d article qu elle veut et les lignes s ajoutent au fur et a mesure.
    De meme la BDD est remplie au fur et a mesure ( forcement,.les.donnees affichees dans mon tableau viennent de la bdd.)

    Cependant voici mon probleme. Pour faire gros, j ai creer un dernier bouton qui se nomme "terminer la liste".
    Et c est ici que j ai un probleme.
    J aimerai que lorsque la personne clique dessus, ce bouton la redirige vers une page recapitulant sous forme d un tableau ou autre, sa liste qu elle vient de creer.
    Cependant, lorsque cette meme personne retourne sur la page permettant de creer d autres liste, j aimerais que lorsque qu elle reclique sur le bouton "terminer la liste", un deuxieme tableau apparaisse avec les bonnes donnees correspondantes a la liste qu elle vient de creer.
    Cependant a chaque fois le tableau recupere toutes les donnees de la Bdd ( ce qui est normal ) et du coup je n arrive pas a.avoir plusieurs listes distinctes.

    J espere que vous aurez compris....

    Merci beaucoup en tous cas !

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    il faut que tu rajoutes un traceur aux données à l'enregistrement ou en session qui te permette de distinguer les données les unes des autres et ainsi isoler celles qui n'ont été saisies que dans le session courante

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Par défaut
    Merci pour ta réponse, malheureusement j'ai un peu de mal a voir comment faire :/

    Je ne souhaites pas un code tout fait mais plutot la maière de m'y prendre.

    Pour récapituler, j'ai un tableau qui affiche les données qu'un utilisateur vient de saisir ( il n'y aura qu'un seul utilisateur, ce site est pour une seule personne (fictive)).
    Exemple des données affichée
    Nom article Prix article Quantité article
    bateau. 50. 1
    fraises. 3. 2

    etc etc..

    Lorsque la personne ajoute des lignes grace au bouton "ajouter l'article" et qu'elle a fini d'ajouter des lignes ( des articles ), je souhaiterais qu'elle puisse appuyer sur un bouton " Sauvegarder ma liste " et que celui-ci lui affiche sur une autre page, le récapitulatif de CETTE liste en question.

    Ensuite la personne pourra alors retourner sur la premiere page pour crééer une seconde liste. Cependant c'est la que ca coince. Cette seconde liste récupère aussi les données de la premiere liste puisque je ne sais pas comment les différencier.

    J'ai bien tenté de rajouter une colonne à ma BDD du style "idListe". Pour la premiere liste tout va bien, lorsque la personne clique sur "ajouter l'article", l'idListe se remplie à "1" pour chaque ligne mais pour les prochaines listes je ne sais pas comment augmenter ce nombre. J'ai essayé de faire idListe = idListe + 1, mais ca ne change rien comme idListe = "1", ca restera toujours 1 ...

    Voila un peu complexe à expliquer mais merci de m'avoir lu au moins ^^'

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    le plus simple c'est d'utiliser la session.
    en session, tu créés une clé $_SESSION['pending_lists'] = [];, ensuite à chaque fois qu'un article est ajouté dans une liste ouverte qui possède un id, tu le sauvegarde dans la session : $_SESSION['pending_lists'][$liste_id][] = $article;.
    ainsi quand tu auras besoin de faire une récap des articles pour une liste donnée, tu ressors toutes les données de la session, une fois le bouton "sauvegarder ma liste" cliqué, tu persistes tes données de session et tu purge la liste en session.

    C'est plus clair ?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Par défaut
    En effet c est bien plus clair ! Merci beaucoup je vais voir si je m'en sors 😊

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Par défaut Toujours perdu :(
    Malgré l'aide que j'ai reçu je suis toujours perdu...J'ai cherché des heures, lus des cours mais en vain...

    J'ai refait un code "test" plus simple sur une seule page PHP.

    J'ai donc deux champs que je remplie.
    Un bouton "ajouter" qui va ajouter mes données dans la BDD
    Un bouton "Finir" qui va donc récupérer les données et les affichées sur la page sous forme de tableau.

    Je rappel : Ce que je voudrais c'est que le bouton "Finir" ajoute SEULEMENT les données d'une liste que je viens d'ajouter

    En clair. Admettons que je créé plusieurs lignes dans ma BDD, disons 5, quand j'appuies sur "Finir", seul ces 5 lignes s'affichent et récapitule les données.
    Maintenant je recréer plusieurs données ( sans appuyer sur finir, j'appuie sur ce bouton seulement lorsque j'ai créé tout ce dont j'avais besoin ). Une fois que j'ai finis, cette fois je souhaites afficher seulement les données que j'ai entré, tout en conservant si possible la "Liste" d'avant, celle qui avait les 5 lignes. Et ainsi de suite..

    Voici mon code :

    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
    <?php
     
    // On test d'abord si php se connecte à la BDD Mysql
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=minichat;charset=utf8', 'root','root');
    }
    catch(Exception $e)
    {
    	die('Erreur : ' . $e->getMessage());
    }
     
    ?>
     
    <!-- Mon formulaire tres simple-->
     
    <form method="post">
    	<table>
    		<tr>
    			<td><p>Pseudo : </p></td>
    			<td><input type="text" name="prenom" placeholder="prenom"></input></td>
    		</tr>
    		<tr>
    			<td><p>Message : </p></td>
    			<td><input type="text" name="message" placeholder="Message"></input></td>
    		</tr>
     
    		<tr>
    			<td><button type="submit" name="ajouterListe">Ajouter à la liste</button></td>
    			<td><button type="submit" name="finirListe">Terminer la liste</button></td>
    		</tr>
    	</table>
    </form>
     
    <!-- Traitement du bouton ajouterListe-->
     
    <?php
    	if(isset($_POST['ajouterListe']))
    	{
    		$prenom = $_POST['prenom'];
    		$message = $_POST['message'];
     
     
    		$insertBdd = $bdd->prepare("INSERT INTO personne (prenom,message) VALUES (?,?)");
    		$insertBdd->execute(array($prenom,$message));
     
    		echo "Prénom et message envoyé dans la BDD.";
    	}
    ?>
     
    <!-- Traitement du bouton finirListe-->
     
    <?php if(isset($_POST['finirListe']))
    	{
    ?>
    	<table>
    		<tr>
    			<th>Prenom</th>
    			<th>Message</th>
    			<th>id</th>
    			<th>idListe</th>
    		</tr>
     
    <?php $recup = $bdd->query("SELECT * from personne");
    	while($donnees = $recup->fetch())
    	{ 
    ?>
    		<tr>
    			<td><?php echo $donnees['prenom'] ?></td>
    			<td><?php echo $donnees['message'] ?></td>
    			<td><?php echo $donnees['id'] ?></td>
    			<td><?php echo $donnees['idListe'] ?></td>
    		</tr>
     
    <?php
    	}
    }
    ?>
     
    	</table>

Discussions similaires

  1. Séparer les données d'une colonne en 3
    Par ALINE85 dans le forum Excel
    Réponses: 5
    Dernier message: 06/03/2009, 13h47
  2. Séparer les données du code
    Par xaban dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/01/2009, 13h02
  3. postgres, séparer les données
    Par clodo13 dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 25/06/2008, 09h49
  4. Comment traiter les données reçues avec WinSock ?
    Par Shredder dans le forum Web & réseau
    Réponses: 3
    Dernier message: 01/10/2007, 13h54
  5. Filtrer les données reçues
    Par cryborg dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 20/07/2006, 16h36

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