Partage
  • Partager sur Facebook
  • Partager sur Twitter

Automatizer une recherche

    24 juin 2019 à 14:29:44

    Salut les amis,

    J'espere que tout le monde va bien...

    Je voudrais vous demander une question. Si j'ai une table dans MYSQL avec des milliers de colonnes representants des specifications de voiture. Ayant un des phrases avec des mots-clefs, comment il serait possible d'associer des mots clefs de ces phrases a des colonnes dans SQL que dois-je utiliser, j'aimerai que ce systeme soit automatize pour que si le mot n'existe pas dans SQL il creera un colone.

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      24 juin 2019 à 15:17:42

      Bonjour,

      Mauvais forum

      Le sujet est déplacé de la section PHP vers la section Base de données

      antoniochelala a écrit:

      Si j'ai une table dans MYSQL avec des milliers de colonnes

      Ce n'est pas la bonne façon de concevoir une base de données ...

      Peux-tu nous en dire plus sur ton application et ses fonctionnalités ?

      Quel est le type de données de ces spécifications ? VARCHAR ? autre ?

      -
      Edité par Benzouye 24 juin 2019 à 15:18:33

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        24 juin 2019 à 15:23:10

        Bonjour,

        Merci pour votre reponse.

        Le type de donnees de ces specifications est la plupart de boolean "Oui" "No", et quelques unes, d'une quantite negligeable sont du type drop-down, ou text.

        Ya-il moyen de me transferer ce sujet a la section de  Base de donnes?

        Merci

        -
        Edité par antoniochelala 24 juin 2019 à 15:24:47

        • Partager sur Facebook
        • Partager sur Twitter
          24 juin 2019 à 16:13:02

          antoniochelala a écrit:

          Ya-il moyen de me transferer ce sujet a la section de  Base de donnes?

          C'était déjà fait ;)

          Benzouye a écrit:

          Peux-tu nous en dire plus sur ton application et ses fonctionnalités ?

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            24 juin 2019 à 16:17:09

            J'utilise cette application pour pouvoir automatiser le upload de donnes en utilisant des keywords d'un fichier texte et les associer aux colonnes de  la table SQL que j'ai pour pouvoir choisir et selecter une certaine option de la table SQL, qui est une caracteristique.
            • Partager sur Facebook
            • Partager sur Twitter
              24 juin 2019 à 17:20:30

              C'est clair comme du jus de chaussettes ...

              Est-ce que c'est toi qui a créé la table en question ? As-tu la main pour la modifier ? changer la structure des tables, en créer d'autres ?

              Peut-on voir un exemple de ce que contient le fichier texte en question ?

              Peut-on voir la structure de base de la table "voiture", sans les milliers de colonnes concernant les spécifications ?

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                24 juin 2019 à 19:33:44

                Bonsoir,

                Il est déjà bizarre qu'une de tes tables contienne des milliers de colonnes. Il faut revoir la modélisation de ta table et trouver le moyen de simplifier ; tes colonnes ne sont peut-être simplement que des valeurs d'attributs que tu peux placer dans une table ATTRIBUTS.

                De plus, cette nouvelle modélisation te permettra sans doute de résoudre ton problème de recherche.

                K

                • Partager sur Facebook
                • Partager sur Twitter
                  25 juin 2019 à 8:20:49

                  Bonjour,

                  Oui, je suis en pouvoir de modifier la table SQL. Qu'est ce que vous proposez comme solution, ce n'est pas un probleme si la table est tellement grande, il faut juste trouver une solution intelligente.

                  Merci d'avance

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 juin 2019 à 9:31:46

                    antoniochelala a écrit:

                    ce n'est pas un probleme si la table est tellement grande

                    Si, c'est un problème ... L'objectif est de ne pas avoir à modifier ta table (ajout/suppression de colonne) pour faire fonctionner ton système ...

                    antoniochelala a écrit:

                    il faut juste trouver une solution intelligente

                    Pour te proposer des solutions il faudrait en savoir plus sur ton application ...

                    Benzouye a écrit:

                    Peut-on voir un exemple de ce que contient le fichier texte en question ?

                    Peut-on voir la structure de base de la table "voiture", sans les milliers de colonnes concernant les spécifications ?

                    Sans en savoir plus l'idée de départ est un système en 3 tables :

                    • voiture ( id [pk], etc. )
                    • specification ( id [pk], libelle )
                    • voiture_specification ( id_voiture [pk][fk], id_specification [pk][fk], valeur )

                    Ici, pas besoin de modifier la structure des tables, juste à gérer les enregistrements de la table voiture_specification ...

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                      25 juin 2019 à 14:18:03

                      Salut, 

                      Voila des screenshots:

                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 juin 2019 à 17:45:42

                        antoniochelala a écrit:

                        j'ai une table dans MYSQL avec des milliers de colonnes

                        Attention à ne pas confondre "colonne" et "ligne" ... Je crois que c'est cela qui a fait que nous ne nous comprenions pas ...

                        La "TABLE_4" contient une liste de caractéristiques (pour voiture).

                        Je crois comprendre que tu veux rechercher par exemple dans la colonne "Specification_Title" si le mot "Electric Mirrors" existe. Si oui, on ne fait rien, si non on rajoute cette specs dans la table.

                        Si j'ai bien compris, peux-tu nous dire d'où va provenir le mot (ou groupe de mots) à rechercher, et avec quel langage de programmation tu voudrais travailler ?

                        Si je n'ai pas compris, peux-tu réexpliquer plus précisément ce que tu cherches à faire, et nous donner un exemple clair ?

                        -
                        Edité par Benzouye 25 juin 2019 à 17:46:51

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                          27 juin 2019 à 8:10:53

                          Rebonjour,

                          Vous avez exactement compris la situation, tout ce que vous avez-dit est correcte.

                          Le mot ou groupe de mots va provenir d'un file text, si le mot est trouve on rajoute cette spec dans la table.

                          Quel est le moyen qui nous permetterai de faire ca?

                          Merci infiniment.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 juin 2019 à 14:42:11

                            Peux-tu nous montrer la structure du fichier texte à exploiter ?

                            L'idée est de lire ce fichier texte avec un programme (cf. question plus bas) et faire une requête de recherche à partir des données contenues ...

                            Benzouye a écrit:

                            avec quel langage de programmation tu voudrais travailler ?

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                              27 juin 2019 à 15:02:47

                              Oui biensur Benzouye!

                              Voici un example du fichier texte a exploiter:

                              New Vehicle
                              123 456 789
                              C 180 Cabriolet.
                              Technical data
                              4 Cyl.
                              Engine:
                              Transmission:
                              9G- Tronic
                              Power:
                              156 H.P
                              Cubic capacity:
                              1595cc
                              6.3/100KM
                              Fuel:
                              Standard equipment (selection)
                              Multifunctional Steering Wheel
                              ECO Function
                              Active brake Assist
                              ABS/ESP/EBD/Hill Start Assist
                              7 Airbags
                              Central Locking
                              Optional extras (selection)
                              Cabriolet Comfort Package
                              Active parking assist
                              Heated Seats
                              Seat belt extender
                              Keyless Go starting function
                              Smartphone integration package
                              Reversing Camera
                              17" Alloy Wheels
                              10.25" Media Display
                              Standard financing
                              Example
                              Deposit:
                              35%
                              3 Years
                              Period:
                              4.9%
                              Annual percentage rate:
                              Mercedes-Benz
                              The best or nothing
                              

                              Si sa serait possible avec PHP et SQL, ce n'est pas la meilleure façon?

                              Merci d'avance

                              • Partager sur Facebook
                              • Partager sur Twitter
                                27 juin 2019 à 15:11:22

                                antoniochelala a écrit:

                                sa serait possible avec PHP et SQL

                                C'est tout à fait possible. Il te faut juste apprendre à utiliser fopen et fgets, et également les bases du SQL ( SELECT et INSERT INTO ) ...

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                  27 juin 2019 à 15:18:14

                                  En faite pour etre precis, et comme vous l'avez dit avant, je voudrais faire une recherce des mots clefs. Si le mot clef est trouve la case est coche comme 1 (systeme de boolean).
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 juin 2019 à 15:33:03

                                    antoniochelala a écrit:

                                    Si le mot clef est trouve la case est coche comme 1 (systeme de boolean).

                                    Quelle case à cocher ?

                                    Là tu n'as parlé que d'une table listant les spécifications possibles ...

                                    Si tu as aussi une table listant des voitures, alors une voiture peut avoir plusieurs spécifications et une spécification peut être liée à plusieurs voitures, c'est une relation n,n et ton modèle de données serait en 3 tables comme proposé plus haut :

                                    Benzouye a écrit:

                                    l'idée de départ est un système en 3 tables :

                                    • voiture ( id [pk], etc. )
                                    • specification ( id [pk], libelle )
                                    • voiture_specification ( id_voiture [pk][fk], id_specification [pk][fk], valeur )
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                      27 juin 2019 à 15:56:13

                                      Donc pas besoin de booléen ...

                                      Si une voiture a une spécification, alors le couple id_voiture / id_spec existe, sinon non ...

                                      Le programme :

                                      • Tu parcours ton fichier texte.
                                      • Tu enregistres la voiture dans la table voiture.
                                      • Tu récupères l'id de la voiture créée.
                                      • Tu parcours le fichier texte.
                                      • Pour chaque spec :
                                        • Tu recherches en base si elle existe.
                                        • Si elle existe tu récupères son id.
                                        • Si elle n'existe pas tu la crée dans la table specification et tu récupères l'id créé.
                                        • Tu insères dans la table voiture_spec le couple id_voiture / id_spec récupéré et la valeur de la spec.

                                      Assimile tout ça, code le et reviens vers nous si tu a des problèmes de code (dans le forum PHP ce coup-ci).

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                        27 juin 2019 à 16:08:22

                                        C'est cette etape
                                        • Tu recherches en base si elle existe.

                                         qui est difficile, parce que tout est deja fait en mode boolean, ceci a ete implemente en boolean parceque grace a ca on peut comparer deux voitures face a face dans le site.

                                        Moi ce que je veux c'est un systeme qui verifie si les mot clefs du fichier texte correspondent aux specs de la table SQL, par exemple electric mirrors, si ce groupe de mots est dans le fichier texte alors , une recherche dans la table des specs sera fait, et quand trouver, sera cochè

                                        Merci infiniment

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          27 juin 2019 à 17:03:28

                                          antoniochelala a écrit:

                                          tout est deja fait en mode boolean

                                          C'est à dire ? Tu ne nous a rien montré de tel jusque là ... montre nous cette table avec ces booléens ...

                                          antoniochelala a écrit:

                                          ceci a ete implemente en boolean parceque grace a ca on peut comparer deux voitures face a face dans le site

                                          Je ne vois pas le rapport ... C'est une mauvaise implémentation d'une relation n,n ...

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                            28 juin 2019 à 8:51:22

                                            La COL2 dans le screenshot montre le boolean :)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              28 juin 2019 à 9:23:01

                                              Non, la COL2 dans le screenshot montre la colonne qui donne le type de donnée de la spec, pas la liaison entre une voiture et une spec ...

                                              Tu dois avoir une table qui fait la relation entre voiture et spec, avec l'id de la voiture et l'id de la spec ainsi que sa valeur.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                28 juin 2019 à 9:53:14

                                                Oui, je l'ai trouve 

                                                Il ya une possibilite de mettre du texte, pour representer par exemple le nombre de cheveaux d'une voiture, ou bien mettre un numero, un texte pour une une caracteristique qui n'est pas dans le syteme et tout le reste est en boolean mode (1,0)

                                                -
                                                Edité par antoniochelala 28 juin 2019 à 9:55:52

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  28 juin 2019 à 10:06:45

                                                  Non ... je pense que cette table relie les vendeurs aux spécifications, pas les voitures ...

                                                  Je ne comprends plus rien à ce que tu cherches, tu ne nous donnes que des informations réduites et incomplètes ...

                                                  Vu que tu ne semble pas du tout maîtriser le modèle de données, peux-tu nous en dire un peu plus sur ton projet ?

                                                  Quelle est l'application concernée, à quoi elle sert ?

                                                  Qui l'a développé ?

                                                  Quelle position tu as dans le projet (projet perso, stagiaire, responsable, etc.) ?

                                                  Peux-tu nous donner un exemple concret de ce que tu cherches à faire avec les données d'exemple, les données avant le traitement et le résultat après le traitement, et cela avec exactitude et précision ...

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                    28 juin 2019 à 10:29:03

                                                    Salut encore,

                                                    Je suis un stagiaire pour un project. Ce projet est de creer une automatization d'ajout de donnes de chaque voiture. Pour etre precis, moi ce que je voudrais c'est l'idee la plus facile pour pouvoir realiser ce projet. Ce projet c'est de pouvoir associer les mots clefs d'un fichier texte particulier a chaque voiture a la table de donne. Une fois que les mots clefs sont repérées on doit les mettre dans la base de donne, 95?% des specification dans la base de donne sont du type boolean, 1 ou 0. La question est : quel est la facon qui nous permet de faire une recherche de mot clefs dans le fichier ET pouvoir trouver l'equivalent dans la base de donne et la coche si elle est trouve ?

                                                    Merci

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      28 juin 2019 à 11:23:28

                                                      Donc ma réponse reste la même :

                                                      Benzouye a écrit:

                                                      Le programme :

                                                      • Tu parcours ton fichier texte.
                                                      • Tu enregistres la voiture dans la table voiture.
                                                      • Tu récupères l'id de la voiture créée.
                                                      • Tu parcours le fichier texte.
                                                      • Pour chaque spec :
                                                        • Tu recherches en base si elle existe.
                                                        • Si elle existe tu récupères son id.
                                                        • Si elle n'existe pas tu la crée dans la table specification et tu récupères l'id créé.
                                                        • Tu insères dans la table voiture_spec le couple id_voiture / id_spec récupéré et la valeur de la spec.

                                                      Assimile tout ça, code le et reviens vers nous si tu a des problèmes de code (dans le forum PHP ce coup-ci).

                                                      Par contre il faut vraiment que tu identifies la table qui relie une voiture à ses spéc ... Pour l'instant je ne l'ai pas vue ...

                                                      antoniochelala a écrit:

                                                      C'est cette etape

                                                      • Tu recherches en base si elle existe
                                                      SELECT *
                                                      FROM specs
                                                      WHERE Specification_Title = "Electric Mirrors"
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                        4 juillet 2019 à 9:16:39

                                                        Bonjour.

                                                        Ce que je trouve quand même d'étrange dans la table Specs, c'est que ce que tu as mis en commentaire de colonne, tu aurais plutôt dû le mettre en nom de colonne.

                                                        Car COL 1, COL 2, COL 3, ..., COL 14, c'est loin d'être parlant pour savoir à quoi elles correspondent, s'il faut à chaque fois par exemple ouvrir la table dans PHPMyAdmin pour savoir à quoi correspond une colonne, c'est loin d'être productif.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

                                                          4 juillet 2019 à 12:50:20

                                                          Lartak a écrit:

                                                          COL 1, COL 2, COL 3, ..., COL 14, c'est loin d'être parlant pour savoir à quoi elles correspondent

                                                          En fait il a bricolé un truc chelou ... La table nommée TABLE4 est correcte elle ...

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

                                                          Automatizer une recherche

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown