J'ai une simple requête SQL,Méthode pour faire correspondre une chaîne dans SQL
SELECT * FROM phones WHERE manu='$manuf' AND price BETWEEN $min AND $max
Le problème est que tous les champs variables sont connectés à des champs qui seront parfois vides, et donc je besoin d'un moyen de faites-leur correspondre toute valeur que leur champ respectif pourrait prendre s'ils sont vides. J'ai essayé
$min=$_REQUEST['min_price'];
$max=$_REQUEST['max_price'];
$manuf=$_REQUEST['manufact'];
if (empty($min)){
$min=0;}
if (empty($max)){
$max=900000;}
if (empty($manuf)){
$manuf='*';}
qui fonctionne bien pour les champs numériques (bien que je n'aime pas avoir à réglage manuel des limites comme celui-ci), mais je ne peux pas comprendre comment obtenir un match universel pour le champ de texte. Je pensais que * le ferait car il correspond à tous les noms de lignes, mais apparemment pas. Quelqu'un sait-il comment faire ça?
Ce n'est pas le code SQL –
Que voulez-vous dire par «vide»? Une chaîne vide ou une valeur NULL? –