par
Ryle » 25 mai 2009, 21:29
Pourquoi ne pas mettre tes deux conditions dans ta requête avec un OR et ajouter un distinct sur les résultats pour éviter les doublons ?
$sql = "SELECT DISTINCT id_projet
FROM tbl_projet
WHERE titre LIKE '%".str_replace('_', ' ', $titre)."%'"
OR SOUNDEX(titre) = SOUNDEX('".$titre."')";
J'ai ajouté des % pour le like (à toi de voir s'ils sont utiles) et virer les "`" dont tu peux te passer des lors que tu nommes tes tables proprement (sans utiliser de mots clés réservés

.. ça allège le code et rend ta requête plus lisible).
Tu peux également remplacer tes "_" par des % au lieu des espaces, pour étendre les résultats possibles
HTH

Pourquoi ne pas mettre tes deux conditions dans ta requête avec un OR et ajouter un distinct sur les résultats pour éviter les doublons ?
[php]$sql = "SELECT DISTINCT id_projet
FROM tbl_projet
WHERE titre LIKE '%".str_replace('_', ' ', $titre)."%'"
OR SOUNDEX(titre) = SOUNDEX('".$titre."')"; [/php]
J'ai ajouté des % pour le like (à toi de voir s'ils sont utiles) et virer les "`" dont tu peux te passer des lors que tu nommes tes tables proprement (sans utiliser de mots clés réservés :) .. ça allège le code et rend ta requête plus lisible).
Tu peux également remplacer tes "_" par des % au lieu des espaces, pour étendre les résultats possibles :)
HTH :)