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 :

Question manipulation des objets d'un CSV


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Question manipulation des objets d'un CSV
    Bonjour à tous,

    J'ai fait un petit code qui me permet de récupérer les valeurs d'un CSV qui a cette forme :

    "N°","Nom","Lieu"
    "1","random1","Terre"
    "1","random1","Mars"
    "1","random2","Lune"
    "2","random3","Lune"

    J'arrive à importer le CSV et à mettre les valeurs dans des dropdown correspondantes pour les récupérer dans une autre page mais je voudrais faire quelque chose de plus propre.
    Pour l'instant si dans mon premier dropdown je sélectionne "1" de mon exemple, dans les dropdown suivantes j'ai toutes les valeurs existantes. Or je voudrais afficher seulement les valeurs possible (ici "random1" et "random2", et pas "random3").

    Voici la partie de code correspondante :


    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
     
     
    <div>
    	UF : <select name = "uf">
    	<?php
    		foreach ($liste_uf as $uf){
    			echo "<option value=$uf>".$uf."</option>\n";
    		}		
    	?>
    	</select>
    </div>
    </br>
     
     
    <div>
    	Libellé : <select name = "libelle">
    	<?php
    		foreach ($liste_libelle as $libelle){
    			echo "<option value=$libelle".$libelle."</option>\n";
    		}			
    	?>
    	</select>
    </div>
    </br>
     
     
    <div>				
    	Livraison : <select name = "livraison">
    	<?php
    		foreach ($liste_livraison as $livraison){
    			echo "<option value=$livraison>".$livraison."</option>\n";
    					}			
    	?>
    	</select>
    </div>
    Comment pourrais-je faire ?
    Merci.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Bonjour,
    ca n'a rien à voir avec ton CSV. C'est une problématique de listes liées qui se résout via une requête ajax => donc un événement javascript qui détecte le changement d'une liste et met à jour le contenu des autres.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Merci, je vais commencer à fouiller de ce côté là! Désolé pour la réponse tardive
    Je suis obligé par une base de donnée SQL du coup ?


    Je viens de découvrir un autre petit problème que je n'arrive pas à comprendre, si dans un dropdown je sélectionne une entrée avec un espace (par exemple "Salle 238") seule la partie avant l'espace est transmise à ma deuxième page.
    Après une recherche google je n'ai pas vu d'autres personnes avec ce problème.

    Le code où je récupère le csv :

    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
     
    <?php 
     
    	$fichier = "monFichier.csv";
    	$fp = fopen($fichier, "r");
    	if ($fichier<>false) {  									//Ajouter une erreur si fichier non trouvé
    		flock ($fp, LOCK_SH);
    		while (($data = fgetcsv($fp, 1000, ';')) !== FALSE){
    			$data = array_map("utf8_encode", $data);			//Règle les problèmes de caractères spéciaux
    			$uf[] = $data[0];
    			$libelle[] = $data[1];
    			$livraison[] = $data[2];
    		}
     
    		flock($fp, LOCK_UN);
    		fclose($fp);
    	}
     
    	$liste_uf = array_unique($uf);
    	$liste_libelle = array_unique($libelle);
    	$liste_livraison = array_unique($livraison);
     
    ?>
     
    <form action="impression.php" method="post">
     
    <div>				
    				Livraison : <select name = "livraison">
    				<?php
    					foreach ($liste_livraison as $livraison){
    						echo "<option value=$livraison>".$livraison."</option>\n";
    					}			
    				?>
    				</select>
    				</div>
    <input type="submit" value="Valider"/>
    </form>
    Le code qui l'affiche dans une autre page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div>
    	Lieu de Livraison :
    	<?php
    	echo $_POST["livraison"];
    	?>
    </div>
    Le problème vient du code ou de mon csv ?

Discussions similaires

  1. manipulation des objets
    Par Djawida dans le forum MFC
    Réponses: 1
    Dernier message: 16/06/2009, 14h17
  2. Manipulation des objets dans une session
    Par facilus68 dans le forum Hibernate
    Réponses: 5
    Dernier message: 28/12/2007, 14h02
  3. manipuler des objets créés par un autre prg
    Par aziz jim dans le forum C++
    Réponses: 1
    Dernier message: 07/11/2007, 12h08
  4. Comment Manipuler des objets dans une liste de type TList ?
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 1
    Dernier message: 02/11/2006, 15h40
  5. Réponses: 13
    Dernier message: 09/05/2006, 16h30

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