Salut à tout le monde,
Alors, j'ai trouvé la solution à mon problème, mais je trouve que c'est du bricolé. Pas très clean quoi.
J'aimerai donc avoir vos avis, je ne connais pas toutes les commandes sql car je n'en ai pas forcement besoin en temps normal.
En gros j'ai une table qui a pour champ :
type_appareil
Ce dernier contient 2 entiers qui correspondent à un certaines caractéristiques...
Exemple :
2-4 ou 12-8
critaire1-critaire2
etc...
le critaire2 est comme la sous-famille du critaire1
Je voudrais que ça marche en gros comme des sous-catégories, alors je sais que vous allez me dire qu'il aurait fallu faire une autre table avec une jointure.
Je sais faire, mais je ne veux pas le faire ici, je veux garder ces entier dans un seul champ, séparés par un tiret -.
Alors, si mes deux critaires sont demandés c'est très simple il me suffit de faire un = et là c'est sans souci
Le problème intervient si je veux afficher ces objets seulement avec le critaire1 (avec le critaire2 ce n'est pas possible puis qu'il appartient au 1).
Donc, ce que j'ai dû faire c'est :
$sql = "SELECT * FROM matable WHERE critaire1 LIKE '".$varcritaire."-%'";
J'ai dû rajouter le "-%" de cette façon car admettons que :
$varcritaire = 1;
sans ça, ça pouvait me prendre un critaire1 12 ou 31...
OUla je me perds moi même dans mon explication.
POUR FAIRE SIMPLE, VOICI MA QUESTION :
Je voudrais une requete sql qui va chercher l'entier qui se trouve avant le "-" à gauche, le problème c'est que cet entier est parfait un nombre ou 2 chiffres.
Y a t'il un moyen ? Ca existe ? Peut-être y a t'il d'autres options dans Like qui pourraient être + utiles ?
Merci par avance !
Partager