Pb comparaison de données

cs_richardd Messages postés 35 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 10 mai 2005 - 10 mai 2005 à 23:56
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 11 mai 2005 à 08:42
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 mai 2005 à 08:42
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.
0
Rejoignez-nous