Pb comparaison de données

Signaler
Messages postés
35
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
10 mai 2005
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonsoir,

Pour remplir certaine table d'une base de données, j'utilise un fichier texte.
Avant d'insérer une donnée, je vérifie qu'elle n'existe pas déjà. Mais le soucis
est que si la données comporte un accent, elle n'est pas reconnue, et donc
ré-enregistrée...

Voici mon code

// lecture données fichier texte
$ligne=addslashes(fgetss($file,4000));
$ligne=trim($ligne);

// Test si l'activite existe dejà dans la base
$query = "SELECT act_id
FROM activite
WHERE act_nom LIKE '$ligne'";
$result = mysql_query($query, $connection)
or die('erreur execution requete');
$affected_rows=mysql_num_rows($result);

if ($ligne!='' and $affected_rows == 0)
{
// si l'activite n'existe pas, enregistrement
$query = "INSERT INTO activite
(act_nom)
VALUES
('$ligne')";
}

Merci de votre aide.
Richard

1 réponse

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,



tu peux utiliser un str_replace pour remplacer tous les accents juste pour la comparaison.

Peut-etre en passant tout en strtoupper, aussi, je ne sais pas ce qu'il
fait des accents je n'ai jamais essaye.Ou encore, les fonctions de
comparaisons algorithmiques de chaines de php, il y en a quelques unes,
tu peux esayer.