AdsManager.

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • #16
    Re : AdsManager.

    Bonjour Jisse03,
    Je reviens à nouveau vers toi.
    J'ai ajouté quelques colonnes (images, titre, parent, pa_rub, pa_srub, pa_txt) en m'appuyant sur ton code.

    Code:
    CREATE ALGORITHM = UNDEFINED VIEW  `adsmanager_view_export_5`
    AS
    SELECT a.parent AS  'Catégorie', a.name AS  'Sous-Catégorie', b.pa_rub AS  'pa_rub', b.pa_srub AS  'pa_srub', b.pa_txt AS  'pa_txt', b.name AS  'Utilisateur', b.images AS  'images', b.ad_headline AS  'Titre', b.ad_text AS  'Annonce'
    FROM idls7_adsmanager_categories AS a, idls7_adsmanager_ads AS b, idls7_adsmanager_adcat AS c
    WHERE a.id = c.catid
    AND b.id = c.adid

    - Comment retrouver le name de la catégorie parent et non id ?
    (sachant quel est contenue dans la table idls7_adsmanager_categories (colonne 'parent'))
    - Enlever les doublons de catégorie et sous catégorie (commande DISTINCT ?) ?
    - Classer les catégorie et sous catégorie dans l'ordre (commande ORDER BY ?) ?

    J'ai crée dans la table idls7_adsmanager_ads trois nouvelles colonnes : pa_rub="<ParaStyle:PA-Rubrique>" pa_srub="<ParaStyle:PA-Sous-Rubrique>" pa_txt="<ParaStyle:PA-Annonce>"
    Lors de l'importation du fichier adsmanager_view_export.doc (exporter de PhpMyAdmin) dans Indesign, ces trois balises permettront le formatage (des rubriques, sous-rubriques, texte de la PA) en fonction de la feuille de style du master Indesign.

    Je souhaiterai intégrer (concaténer) les balises avant chaque ligne (commande Opérateur de concaténation opérateur || ?)
    ex: <ParaStyle:PA-Rubrique>Auto
    <ParaStyle:PA-Sous-Rubrique>Renault
    <ParaStyle:PA-Annonce>Clio 2008 200 000 km 2 000 €.....

    Je ne sais pas comment affecter une valeur constante aux nouvelles colonnes idls7_adsmanager_ads
    ex: pa_srub="<ParaStyle:PA-Sous-Rubrique>"

    Beaucoup de questions, j'espère avoir été assez clair. Merci par avance.
    Cliquez sur l'image pour l'afficher en taille normale

Nom : addsmanager-01.jpg 
Affichages : 1 
Taille : 16,7 Ko 
ID : 1801567
    Cliquez sur l'image pour l'afficher en taille normale

Nom : addsmanager.jpg 
Affichages : 1 
Taille : 24,2 Ko 
ID : 1801568

    Commentaire


    • #17
      Re : AdsManager.

      Bonsoir, Jisse03 et les autres

      Je simplifie la demande :

      - Comment retrouver le name de la catégorie parent et non id ?
      (sachant quel est contenue dans la table idls7_adsmanager_categories (colonne 'parent'))

      Code:
      CREATE ALGORITHM = UNDEFINED VIEW  `adsmanager_view_export_5`
      AS
      SELECT a.parent AS  'Catégorie', a.name AS  'Sous-Catégorie', b.pa_rub AS  'pa_rub', b.pa_srub AS  'pa_srub', b.pa_txt AS  'pa_txt', b.name AS  'Utilisateur', b.images AS  'images', b.ad_headline AS  'Titre', b.ad_text AS  'Annonce'
      FROM idls7_adsmanager_categories AS a, idls7_adsmanager_ads AS b, idls7_adsmanager_adcat AS c
      WHERE a.id = c.catid
      AND b.id = c.adid

      Commentaire


      • #18
        Re : AdsManager.

        Par exemple
        Code:
        CREATE ALGORITHM = UNDEFINED VIEW  `adsmanager_view_export_5`
        AS
        SELECT
        d.name AS  'Catégorie', a.name AS  'Sous-Catégorie',
        b.pa_rub AS  'pa_rub',
        b.pa_srub AS  'pa_srub',
        b.pa_txt AS  'pa_txt',
        b.name AS  'Utilisateur',
        b.images AS  'images',
        b.ad_headline AS  'Titre',
        b.ad_text AS  'Annonce'
        FROM
        idls7_adsmanager_categories AS a,
        idls7_adsmanager_ads AS b,
        idls7_adsmanager_adcat AS c,
        idls7_adsmanager_categories
        WHERE
        a.id = c.catid
        AND b.id = c.adid
        AND d.id=a.parent
        On rajoute un alias pour permettre la récursivité sur la table catégories. C'est du vite suggéré, de tête
        Il suffit de connaître assez bien ce genre de chose pour avoir une idée de comment on implémente.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #19
          Re : AdsManager.

          Bonsoir Jisse03,

          Encore merci pour ton aide et ton intérêt pour mes problèmes.

          J'ai testé ton code, erreur retournée #1054 - Unknown column 'd.name' in 'field list'

          Une idée ?

          Il suffit de connaître assez bien ce genre de chose pour avoir une idée de comment on implémente.
          Malheureusement, j'avoue mon incompétence, c'est justement là mon problème

          As-tu vu mon précédent post : trop compliqué à mettre en œuvre ?

          Commentaire


          • #20
            Re : AdsManager.

            La dernière ligne de FROM idls7_adsmanager_categories ne contient pas de AS
            Normal ?

            Commentaire


            • #21
              Re : AdsManager.

              Rajoutes le AS d
              J'ai tapé ça vite fait sur mon phone Android..
              Pas de demande de support par MP.
              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

              Commentaire


              • #22
                Re : AdsManager.

                Impressionnant taper ce genre de code sur un phone chapeau bas.

                Magnifique, ça fonctionne parfaitement.

                Je te laisse en paix.

                A l'occasion, demain ou plus tard, si tu peux, et bien sûr si tu veux,
                pourrai-tu regarder mon précédent POST ? j'en serai ravi.

                Merci infiniment, dire que j'ai cherché une parti de la journée... écœuré.

                Commentaire


                • #23
                  Re : AdsManager.

                  La concaténation d'opérateurs de styles, là, c'est au delà de ce qu'une vue base de données peut faire de manière simple. Les opérateurs de styles, ce n'est plus du SQL.

                  Mais ce serait faisable, non avec une simple view, mais avec une Stored Function. Mais là, sauf à avoir 100% des clés en main, la base sur laquelle tester, l'ensemble des paramètres, on ne peut pas grand chose, vu que c'est du très spécifique.

                  Mais depuis la view, en PHP, tu peux facilement formater le styling et générer ton fichier source final.

                  Au moins là tu as appris (en cherchant à comprendre comment marche la view) comment on écrit une vue récursive.
                  Gros avantage, sous forme de vue, l'exécution est environ 40 fois plus rapide que sous forme d'une requête avec
                  des left join.

                  [gag] Je pourrais rajouter à mon sous titre, décortiqueur SQL à celui de dépioteur de particules
                  Dernière édition par jisse03 à 27/06/2012, 20h17
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #24
                    Re : AdsManager.

                    Complément du précédent. Peut être possible en utilisant des fonction CONCAT dans la vue, mais à tester et bien vérifier.
                    Pas de demande de support par MP.
                    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                    Commentaire


                    • #25
                      Re : AdsManager.

                      Bonjour jisse03,

                      J'ai pas mal progressé grâce à la commande CONCAT et ORDER BY Catégorie ASC, SousCatégorie ASC.
                      Non pas dans la vue, je ne sais pas comment l'intégrer dedans mais en recréant une autre vue qui s'appuie sur la précédente vue pas très sioux mais ça marche.

                      Code:
                      CREATE ALGORITHM = UNDEFINED VIEW  `adsmanager_view_export_01`
                      AS
                      SELECT
                      d.name AS  'Catégorie', a.name AS  'SousCatégorie', e.pa_entete AS  'pa_entete', e.pa_tab AS  'pa_tab', e.pa_rub AS  'pa_rub', e.pa_srub AS  'pa_srub', e.pa_txt AS  'pa_txt', b.name AS  'Utilisateur', b.images AS  'images', b.ad_headline AS  'Titre', b.ad_text AS  'Annonce'
                      FROM
                      idls7_adsmanager_categories AS a, idls7_adsmanager_ads AS b, idls7_adsmanager_adcat AS c, idls7_adsmanager_categories AS d, idls7_adsmanager_indesign AS e
                      WHERE
                      a.id = c.catid
                      AND b.id = c.adid
                      AND d.id=a.parent
                      ORDER BY Catégorie ASC, SousCatégorie ASC
                      Code:
                      CREATE ALGORITHM = UNDEFINED VIEW  `adsmanager_view_export_02`
                      AS
                      SELECT CONCAT(pa_entete,pa_tab,pa_rub,Catégorie,pa_tab,pa_srub,SousCatégorie,pa_tab,pa_txt,Annonce,pa_tab,images,pa_tab) a.name AS 'ANNONCE' FROM adsmanager_view_export_01
                      j'obtiens ceci :

                      <ParaStyle:PA-Rubrique>Auto$<ParaStyle:PA-Sous-Rubrique>BMW$<ParaStyle:PA-Annonce>n A vendre Voiture 2005 30 000 km Très bon état. superbe affaire["3a_t.jpg"]
                      <ParaStyle:PA-Rubrique>Auto$<ParaStyle:PA-Sous-Rubrique>BMW$<ParaStyle:PA-Annonce>n A vendre Voiture 2005 30 000 km Très bon état. superbe affaire["3a_t.jpg"]

                      Par contre, je ne sais pas :
                      Comment supprimer les doublons de Catégorie et de SousCatégorie ?
                      Comment réintégrer une tabulation entre les champs ?
                      (c'est pourquoi j'ai rajouté le caractère $ pour pouvoir le remplacer par un retour de paragraphe dans Word)

                      Une idée ?

                      Commentaire


                      • #26
                        Re : AdsManager.

                        Comment supprimer les doublons de Catégorie et de SousCatégorie ?
                        Il ne s'agit pas de doublons, mais de la réponse à la requête, ce n'est pas le boulot d'une vue SQL que de réaliser la mise en page, mais par exemple à un script PHP ou de smacos Excel si la requête sur la vue est exportée en CSV.
                        Comment réintégrer une tabulation entre les champs ?

                        Un CONCAT est fait pour concaténer des chaînes en une seule, pas pour générer des séparateurs CSV. Ne confondons pas tout A la riguer, tu peux insérer des \t dans tes CONCAT, mais guère plus.

                        (c'est pourquoi j'ai rajouté le caractère $ pour pouvoir le remplacer par un retour de paragraphe dans Word)

                        Là tu confonds vraiment tout. Ton CONCAT se résume à un seul champ, mais tu voudrais le transformer en un genre de système de mise en page Word, ce qui est absolument hors de portée d'une simple vue SQL.

                        Pas de demande de support par MP.
                        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X