par
Cyrano » 28 oct. 2012, 12:34
Non, simplifie lors de la construction de ta requête. Détecte la présente de « saint » ou de « st » dans la donnée envoyée et adapte la clause WHERE en mettant quelque chose du genre
...
WHERE ville = 'saint laurent'
OR ville = 'st laurent'
Tu peux faire ça avec deux petites expressions régulières, exemple :
$ville = $_POST['ville'];
$masque1 = "#^(saint)(e?\s.*)#i";
$masque2 = "#^(st)(e?\s.*)#i";
if(preg_match($masque1, $ville))
{
$sWhere = "WHERE ville = '". $ville ."' OR ville = '". preg_replace($ville, "st$2") ."'";
}
elseif(preg_match($masque2, $ville))
{
$sWhere = "WHERE ville = '". $ville ."' OR ville = '". preg_replace($ville, "saint$2") ."'";
}
else
{
$sWhere = "WHERE ville = '". $ville ."'";
}
Adapte en fonction de la manière dont du construis ta requête SQL.
Non, simplifie lors de la construction de ta requête. Détecte la présente de « saint » ou de « st » dans la donnée envoyée et adapte la clause WHERE en mettant quelque chose du genre
[sql]...
WHERE ville = 'saint laurent'
OR ville = 'st laurent'[/sql]
Tu peux faire ça avec deux petites expressions régulières, exemple :
[php]$ville = $_POST['ville'];
$masque1 = "#^(saint)(e?\s.*)#i";
$masque2 = "#^(st)(e?\s.*)#i";
if(preg_match($masque1, $ville))
{
$sWhere = "WHERE ville = '". $ville ."' OR ville = '". preg_replace($ville, "st$2") ."'";
}
elseif(preg_match($masque2, $ville))
{
$sWhere = "WHERE ville = '". $ville ."' OR ville = '". preg_replace($ville, "saint$2") ."'";
}
else
{
$sWhere = "WHERE ville = '". $ville ."'";
}[/php]
Adapte en fonction de la manière dont du construis ta requête SQL.