Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 14h51   #1
Invité régulier
 
Inscription : février 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 28
Points : 6
Points : 6
Par défaut supprimer les blancs dans des données

Bonjour,

Débutante en php/sql, j'aimerais faire un LOAD DATA dans ma base avec un fichier csv "pourri", j'ai du texte avec des blancs. J'aimerais pouvoir importer mes données mais en effacant les blancs j'ai essayé avec TRIM et cela marche pas.
voila mon bout de code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
LOAD DATA 
 
    LOCAL INFILE 'E:\\BULLETIN\\oceane.csv'
 
    INTO TABLE ticketoceane
 
    FIELDS ESCAPED BY       '\t'
    TERMINATED BY           ';'
    ENCLOSED BY             ''
    LINES TERMINATED BY     '\r\n'
 
    IGNORE 2 LINES
 
    (
       ticket_id, @skip, @skip, @skip, @skip, @commune, @etat
     , @skip, @skip, @skip, @skip, @skip, @skip, @skip
    )
 
    SET
	communeCorresp     = TRIM(@commune)
        , etat             = TRIM(@etat)
je comprend pas le TRIM n efface pas les blancs pars mes données

merci de votre aide
lousa005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 19h20   #2
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
Le trim effece seulement le blanc au debut et au fin de valeur, tu poura utiliser str_replace et remplacer le blance par le vide
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 12h52   #3
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Enfin, on ne veut pas toujours remplacer tous les espaces blanc, sinon qu'arriverait-il à notre chaine:
Code :
1
2
 
$str = "Je suis une        chaine        de caractères";
On peu ne vouloir effacer que les espaces répétés, on peut le faire très simplement avec une regexp (attention: après ce post Stealth35 le grand pourfendeur de regexp va venir me faire la peau).

Code :
1
2
3
 
$new_str = preg_replace("#[[:space:]]{2,}#", " ", $str);
echo $new_str;
Affiche: "Je suis une chaine de caractères"

Y'a sûrement une fonction toute prête et plus élégante...
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 14h56   #4
Invité régulier
 
Inscription : février 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 28
Points : 6
Points : 6
merci de vos réponses j'ai trouvé la solution en fait j'avais un blanc insécable donc je ne pouvais pas l'effacer avec Trim il ne le permet pas. j'ai utiliser replace pour cela.

lousa005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h13.


 
 
 
 
Partenaires

Hébergement Web