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 :

affichage contenu liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 59
    Par défaut affichage contenu liste déroulante
    Bonjour @ tous

    j'ai du mal à comprendre et mes yeux fatigues pk les résultat ne s'affiche pas

    en faisant en un écho avant et après il m'affiche bien le sexe du contact à savoir Monsieur il ne veut pas passer dans le teste de comparaison
    j'ai essayé avec strcmp mais rien y fait

    dans le même formulaire j'ai deux autres combo ou je n'ai aucun soucis

    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
    <?php echo $Sex;?>							
    							<select name="Sex" id="Sex" placeholder="Civilit&eacute;">							
    							<?php
    								switch ($Sex){
    									case "":
    										echo '<option value="" selected="selected"> - </option>
    										<option value="Madame">Madame</option>
    										<option value="Mademoiselle">Mademoiselle</option>
    										<option value="Monsieur">Monsieur</option>';
    										break;
    									case "Madame":	
    										echo '<option value=""> - </option>
    										<option value="Madame" selected="selected">Madame</option>
    										<option value="Mademoiselle">Mademoiselle</option>
    										<option value="Monsieur">Monsieur</option>';
    										break;
    									case "Mademoiselle":
    										echo '<option value=""> - </option>
    										<option value="Madame">Madame</option>
    										<option value="Mademoiselle" selected="selected">Mademoiselle</option>
    										<option value="Monsieur">Monsieur</option>';
    										break;
    									case "Monsieur":
    										echo '<option value=""> - </option>
    										<option value="Madame">Madame</option>
    										<option value="Mademoiselle">Mademoiselle</option>
    										<option value="Monsieur" selected="selected">Monsieur</option>';
    										break;									
    								}								
    							?>
    							</select>
    							<?php echo $Sex;?>

    merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 59
    Par défaut
    je pense que c'est un problème d'encodage dans la db car lorsque je vais modifié manuellement dans la db le sex parce qu'il n y aque ce champ la qui pose problème
    et ben la cela fonctionne

  3. #3
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    D'où vient le $Sex?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 59
    Par défaut
    d'une requête sur la db contacs TblPeople

    voila ce que donne le formulaire

    Nom : screenshot.22.jpg
Affichages : 137
Taille : 66,9 Ko

    quand j'encode via le formulaire contact pas de soucis
    quand j'import les contacts depuis un fichier csv c'est la que ça coince

    l'affichage de la requête est ok..le contenu de la variable est ok
    mais la comparaison avec une chaîne de caractères "Monsieur" - "Madame" - "Mademoiselle"
    il ne passe pas dans le switch/case ?

    alors que pour la combo couleur politique et la combo localité cela se fait sans problème?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 59
    Par défaut
    je ne vois que ça soit cela bloc à l'export ou à l'import d'un fichier csv mais où j'ai beau retourner le prob dans tous les sens je ne vois pas

    export.php
    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
    <?php
    // output headers so that the file is downloaded rather than displayed
    //header('Content-Type: text/csv; charset=utf-8');
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename=contacts.csv');
     
    // create a file pointer connected to the output stream
    $output = fopen('php://output', 'w');
     
    // output the column headings
    //fputcsv($output, array('Civilité', 'Titre',	'Prénom', 'Nom', 'Adresse',	'Numéro', 'Boîte', 'Code postal', 'Localité', 'Couleur politique'),";",'"');	
     
     
    // fetch the data
     include 'database.php';
     $pdo = Database::connect();
     $sql = 'SELECT * FROM TblPeople, TblCities WHERE TblPeople.FkCities = TblCities.IdCities AND TblPeople.Flag = 0';
     
    foreach ($pdo->query($sql) as $row) {
        fputcsv($output, array($row['IdPeople'],$row['Sex'],$row['Title'],$row['FirstName'],$row['LastName'],$row['Address'],$row['Number'],$row['Box'],$row['PostCode'],$row['Cities'],$row['Color']),";");
    }
    Database::disconnect();		
    fclose($output);		   
     ?>
    import.php
    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
     
    if (($handle = fopen($dossier . $fichier, "r")) !== FALSE) {
    		while (($line = fgetcsv($handle, 1000, ";")) !== FALSE) {
    			//echo $dossier . "   " . $fichier;
    			$Sex = $line[1];
    			$Title = $line[2];
    			$FirstName = $line[3];
    			$LastName = $line[4];		
    			$Address = $line[5];
    			$Number = $line[6];
    			$Box = $line[7];
    			$PostCode = $line[8];
    			$Cities = $line[9];
    			$Color = $line[10];	
    			$Flag= 0;			
     
    			//echo $Address . $PostCode . $Cities;
    			$pdo = Database::connect();
    			$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    			$sql = "SELECT * FROM TblCities WHERE PostCode = ? AND Cities = ?";
    			//echo $sql;
    			$q = $pdo->prepare($sql);
    			$q->execute(array($PostCode,$Cities));
    			$data = $q->fetch(PDO::FETCH_ASSOC);
    			$FkCities = $data['IdCities'];
    			Database::disconnect();
    			echo $Fkcities;
     
    			$pdo = Database::connect();
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);            
    			$sql = "INSERT INTO TblPeople (FirstName, LastName, Sex, Title, Address, Number, Box, Color, Flag , FkCities) VALUES (?, ?, ? , ?, ?, ?, ?, ?, ?, ?)";
                $q = $pdo->prepare($sql);
               	$q->execute(array($FirstName,$LastName,$Sex,$Title,$Address,$Number,$Box,$Color,$Flag,$FkCities));
                Database::disconnect();
                header("Location: index.php");
     
    		}
    	}
     
    	fclose($dossier . $fichier);
    	unlink($dossier . $fichier);

    contenu du fichier contacts.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
     
    8999;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9000;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9001;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9002;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9003;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9004;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9005;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9006;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9007;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9008;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9009;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9010;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9011;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9012;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9013;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9014;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9015;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9016;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9017;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    9018;Monsieur;Echevin;Simon;Culsonnait;"rue des pétunias";52;2;1020;Laeken;ECOLO
    le caractère est apparut après un copier/coller

    une idée pourquoi le champ Sex déconne

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 59
    Par défaut
    voila ce qui semble fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Sex = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $data['Sex']);
    bizarre quand même car pas du le faire pour d'autre champ de la Table

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

Discussions similaires

  1. [MySQL] Affichage contenu liste déroulante /php mysql
    Par LiliValerie dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/09/2012, 15h21
  2. Pb d'affichage avec liste déroulante
    Par Tintou dans le forum Access
    Réponses: 5
    Dernier message: 02/05/2007, 17h28
  3. Contenu Liste déroulante
    Par Itori dans le forum Access
    Réponses: 6
    Dernier message: 26/09/2006, 15h39
  4. Réponses: 8
    Dernier message: 16/06/2006, 18h48
  5. Aide pour un affichage de listes déroulantes
    Par jfjava2002 dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2006, 18h01

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