Traduction d'une requete sql

Nouveau WRInaute
Bonsoir !

Comme dire en sql

WHERE (tous les champs) contiennent entre autres la variable $motcle

WHERE xx LIKE '$motcle'

merci !
 
WRInaute impliqué
tu peux éventuellement faire un CONCATE de plusieurs de tes champs et ensuite faire le LIKE dessus mais encore une fois tu devras taper tous tes champs un par un

sinon tu n'auras pas d'autres solutions de faire quelques choses dans le genre

select * FROM TaTable Where champ1 like 'xxx' or champ2 like 'xxx' or champ3...............
 
WRInaute occasionnel
SELECT * FROM ta_table WHERE xx LIKE '$motcle'

je ne sais plus si il y a des guillemets autour du $motcle :p
 
Nouveau WRInaute
Hello

J'ai fait ca avec dream pour récupérer les variables de mon formulaire de recherche :

$table = $_GET[rub];

$colname_mot = "1";
if (isset($HTTP_GET_VARS['motcle'])) {
$colname_mot = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['motcle'] : addslashes($HTTP_GET_VARS['motcle']);
}
mysql_select_db($database_psmag, $psmag);
$query_mot = sprintf("SELECT * FROM $table WHERE type_tuto LIKE '$motcle'", $colname_motcle);
$mot = mysql_query($query_mot, $psmag) or die(mysql_error());
$row_mot = mysql_fetch_assoc($mot);
$totalRows_mot = mysql_num_rows($mot);


Le soucis c'est que malgré le LIKE, il faut que le mot clé que je tape soit le contenu entier de mon champ. Si je tape par exemple VECTO alors que le champ contient VECTORIEL, je n'ai aucun résultat...
 
WRInaute impliqué
faut que tu mettes des '%' pour faire la wilcard

where nom like '%VECTO%'

te sortira en résultat

VECTORISATION
mais aussi DEVECTORISATION

donc il faut employer les wildcards avec précaution car ca bouffe pas mal de ressources

donc dans ton cas un simple

like 'VECTO%' suffit
 
Nouveau WRInaute
merci

c'est bien ce que j'ai cru comprendre mais avec une variable comme c'est mon cas, je les mets ou les % ?

SELECT * FROM $table WHERE type_tuto LIKE '$motcle'

j'ai essayé après $motcle, mais ca marche pas
 
Nouveau WRInaute
merci :)
j'avais déjà essayé la première proposition avec les % autour de ma variable mais ca marchait pas. j'ai essayé la version Dreamweaver et ca fonctionne, mais c'est long...

$colname_rssearch = "0";
if (isset($HTTP_GET_VARS['motcle'])) {
$colname_rssearch = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['motcle'] : addslashes($HTTP_GET_VARS['motcle']);
}
mysql_select_db($database_psmag, $psmag);
$query_rssearch = sprintf("SELECT * FROM PCO_tuto WHERE titre_tuto LIKE '%%%s%%' OR intro_tuto LIKE '%%%s%%' OR type_tuto LIKE '%%%s%%' OR soft_tuto LIKE '%%%s%%'", $colname_rssearch,$colname_rssearch,$colname_rssearch,$colname_rssearch);
$rssearch = mysql_query($query_rssearch, $psmag) or die(mysql_error());
$row_rssearch = mysql_fetch_assoc($rssearch);
$totalRows_rssearch = mysql_num_rows($rssearch);
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut