Vous n'êtes pas identifié(e).
Bonjour,
J'utilise pour pour un projet, un système de catégorie, qui marche ainsi pour ce qui est de la bdd : 1,1_1,1_1_2,1_1_2_1
Donc a chaque fois que _ apparaît il s'agit d'un enfant de catégorie. (1 vehicule > 1_1 voiture > 1_1_1 > marque .. ect... ).
Mon soucis actuelle c'est que je recherche par exemple : 1_1_2_1_1 avec :
Le retour fonctionne mais j'ai des résultat supplémentaire et en voici la cause :
OK 1,1_1,1_1_1,1_1_2,1_1_1_24,1_1_1_24_3,1_1_2_1,1_1_2_2,1_1_2_3,1_1_2_4,1_1_2_1_1,1_1_2_2_1,1_1_2_3_1,1_1_2_4_1
Ok par erreur > 1,1_1,1_1_1,1_1_1_63,1_1_2,1_1_2_1,1_1_2_2,1_1_2_3
Ok par erreur > 1,1_1,1_1_1,1_1_1_24,1_1_2,1_1_2_20,1_1_2_21,1_1_2_22,1_1_2_23,1_1_2_24,1_1_2_25,1_1_2_26,1_1_2_27,1_1_2_28,1_1_2_29,1_1_2_30,1_1_2_31,1_1_2_32,1_1_2_33,1_1_2_34,1_1_2_35
Donc je supose que la virgule remplace _ le tiret bas dans ce cas, et je ne connais pas de solution.
( mise a part celle d'ajouter dans ma recherche une virgule a la fin , mais cela ne m'arrange pas, car je trouve incohérent le fait que cela ne fonctionne pas. )
Merci de vos conseilles !
Dernière modification par Jiinn (16-02-2014 11:06:17)
Hors ligne
Saluton,
Si tu veux qu'on puisse essayer de te proposer une piste il faudrait nous fournir un peu plus d'éléments :
Un résultat du SHOW CREATE TABLE sur la table incriminée.
La requête SELECT intégrale et non pas juste un petit morceau de la clause WHERE.
Quant à ta supposition de remplacement du '_' par une virgule ',' elle m'apparaît, à tout le moins, peu vraisemblable.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour, merci pour cette réponse, désolé pour ma réponse tardive ( travail prenant ).
Voici le résultat du SHOw CREATE TABLE :
voici la requête entière, même si je ne pense pas qu'elle soit en cause et qu'elle puisse vous aider :
Donc $optionStatusCheckedSql contient la clause en question.
Aucun intérêt que je vous inonde de code, la contenance est bien celle indiqué dans le post n°1.
Je viens de penser aux jeux de caractères, je vais explorer cette possibilité.
merci
Dernière modification par Jiinn (23-02-2014 08:56:34)
Hors ligne
Saluton,
Quand je vois ce genre de requête (avec * en outre ) j'ai tendance à dégainer mon KISS.
Comment veux-tu maîtriser une telle usine à gaz, où les AND et les OR se cotoient allègrement, avec l'insidieuse incidence des précédences qu'on connaît ?
Et je ne parle même pas de la lisibilité du code. Bonjour la galère pour qui devra maintenir ça un jour !
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
Prévoyez aussi des ressources supplémentaires à votre serveur, car dès que vous aurez un certain nombre d'enregistrements avec une table comme celle-là avec une requête qui fait du full scan à tire larigot vous risquez de mettre votre serveur à genoux.
Quand à votre système de codification de catégories, que vous en fassiez un ainsi pour passer les valeurs à une procédure stockée, je comprendrais, mais dans une requête c'est tout sauf pertinent et performant.
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bonjour,
Merci pour les conseilles, pour la codification, vue que le serveur doit pouvoir les créé je n'ai pas trouvé d'autre solution, a vrai dire celle ci me va pour le moment a défaut de mieu.
Pour les ressources supplémentaires, qu'entendez vos par la ?
Effectivement j'utilise *, je vais modifier ça selon les utilisations.
Le code en lui même est commenté.
Voilà, sinon a part l'évaluation de mon code, vous ne semblez pas avoir de solution ou de début de piste.
dans tous les cas quand j'aurais le temps de régler ça, je vous tiendrais au courant.
Hors ligne
Voilà, sinon a part l'évaluation de mon code, vous ne semblez pas avoir de solution ou de début de piste.
Requête SQL : ......... $printSearchCatSql) $searchSelect $localitySql $optionStatusCheckedSql ......
Bien voyez-vous sur ce forum, s'il y a plein de gens de bonne volonté, il n'y a pas de devins. Or votre requête en l'état ne peut en dire plus sur l'origine de votre problème car nous ne savons pas ce que vous passez dans ces variables pour construire votre requête, d'autant plus que la partie concernant les catégories est sensée se trouver dans $printSearchCatSql. Peut être comprendriez-vous ce que vous avez écrit, vous vous en seriez rendu compte, et peut être que, le cas échéant, si vous estimez que le code que vous nous avez fourni est suffisant pour comprendre l'origine du problème, peut être justement que votre problème réside là...
A + donc quand vous aurez le temps.
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bon vous étes sûrement super calé dans le domaine, mais il ne faut pas non plus sous-estimé autrui.
L'information était suffisante, a partir du moment ou j'ai testé la requête, en virant les autres clauses et en insérant uniquement celle-ci, contrôlé évidement puis sans variable afin de tester une éventuelle erreur.
Donc a partir du moment ou tous ce qui vous intéressent est de juger le code de votre prochain afin de justifier vos qualité personnelle, je ne pense pas que cela fera avancer le chmilblic.
Trouvons une solution, puis ameliorons nos compétences et nos informations respective dans le domaine, ou boudons dans notre coin.
Bisous
Hors ligne
Je crois que la messe est dite.
Ce forum n'a pas pour vocation de soigner la paranoïa ou l'autisme.
Laissons donc Jiinn avec ses fantasmes et ses suppositions quant au comportement du SGBD.
Et comme il n'est de pire sourd que celui qui ne veut pas entendre, inutile de nous égosiller davantage du clavier.
Sa dernière incantation lui soit salutaire et, comme le dit le toutologue : "le ciel vous tienne en joie !"
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Vous m'avez ouvert les yeux, je suis bouche bée.
Merci pour cette aide précieuse.
Hors ligne
Bonjour,
Entre nous, la réponse de MK, vous l'avez bien mérité.
Ensuite si vous êtes très compétent et certain de vos dires et conclusions, trouvez la réponse par vous-même et ne demandez rien à personne. Par contre, si vous posez une question car vous avez besoin d'aide, il serait avisé et pertinent de rester humble et d'en accepter la réponse ou pour le moins, nous laisser le bénéfice du doute et voir ce que donne le résultat de nos réponses. Sinon lors d'une journée où vous vous sentez disposé, je vous laisse consulter la définition d'un effet de bord en programmation sur Wikipédia, ainsi que la notion d'index "sargeable".
J'avais d'autres choses à dire, mais désolé, je n'ai plus envie, la conclusion de MK me plaisant assez, je dois bien l'avouer.
Bonne continuation.
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
En meme tant si j'avais été compétant je ne serais pas la.
De toute façon ce n'est pas grave en soi, et donc je vous remercie de votre non réponse.
Sinon merci pour la petite information qui va bien, c'est une super information je trouve.
Cdlt
Hors ligne