requête SQL sur com_contact

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

  • requête SQL sur com_contact

    Bonjour
    J'ai fais la requête suivante pour extraire de la abse les emails de lacatégorie de com_contact="16" :
    Code:
    SELECT * FROM `alWeOr_contact_details` where catid=16;
    mais voilà j'ai crée des champs personnalisés pour com_contact et j'aimerai complété la requête SQL pour affiner la sélection.
    Je voudrai notamment sélectionner tous les contacts qui ont le champ personnalisé (btn radio)
    urgent-contact="urg-cont_Oui"

    Dernière édition par herve à 31/01/2024, 10h11
    Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

  • #2
    il faut que tu fasse un inner join et une requête plus compliquée mais ne pourrais pas tout simplement retourner un champ que tu n'utilise pas de ton com_contact a la place d'un champ perso ?

    Commentaire


    • #3
      Bonsoir
      Envoyé par tradeymag Voir le message
      il faut que tu fasse un inner join et une requête plus compliquée mais ne pourrais pas tout simplement retourner un champ que tu n'utilise pas de ton com_contact a la place d'un champ perso ?
      Non je ne peux pas détourner un champ de com_contact car je filtre les champs perso de com_contact dans l'admin.
      Ok pour faire un inner join mais je ne comprends pas avec quelle table ?

      Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

      Commentaire


      • #4
        Code:
        SELECT a.* FROM #__contact_details a INNER JOIN #__fields_values b ON a.id = b.item_id
        WHERE a.catid = 16 AND
        (b.field_id= 24 AND b.value = 'urg-cont_Oui');​
        remplace b.field_id. par l'id de ton field
        et remplace a.*. par les champs que tu veux retourner si tu veux pas tout. (a.name, a.telephone, ...)

        et tu devrais mettre des valeurs a ton field perso
        urg-cont_Oui = 1
        urg-cont_Non = 0


        et en ce cas b.value = 1 plus simple et rapide
        Dernière édition par tradeymag à 31/01/2024, 09h07

        Commentaire


        • #5
          Bonjour
          Merci pour ton suivi. Cela n'a pas fonctionné dans le champs SQL.

          Je suis donc passé à phpmyadmin en essayant juste le SELECT qui devrait passer !?
          Code:
          SELECT a.* FROM #__contact_details a INNER JOIN #__fields_values b ON a.id = b.item_id
          J'ai le message:
          "Une expression était attendue. (near "" at position 0)"

          J'ai ensuite regardé le tuto https://sql.sh/cours/jointures/inner-join qui présente les choses un peu différemment
          Mais après plusieurs essais, je n'ai pas trouvé la solution. En général je préfère mettre des termes un peu plus long mais plus explicite poor la maintenance ultérieure
          Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

          Commentaire


          • #6
            dans phpmyadmin il ne faut pas mettre#__. bien sur ! il faut mettre ton préfixe de tables que j'ignore
            dans joomla si tu passe par le code de joomla tu peux ou non mettre #__. ou ton prefixe_


            En général je préfère mettre des termes un peu plus long mais plus explicite poor la maintenance ultérieure​
            bien sur mais tu leur donne des valeurs plus rapide a chercher
            urg-cont_Oui = 1
            urg-cont_Non = 0


            sinon la requête marche parfaitement
            Dernière édition par tradeymag à 31/01/2024, 10h36

            Commentaire


            • #7
              Code:
              SELECT a.email_to
              FROM alWeO_contact_details a
              INNER JOIN alWeO_fields_values b ON a.id = b.item_id
              WHERE a.catid = 16 AND b.value = 'urg-cont_Oui';​
              fonctionne bien dans phpmyadmin mais le copier/coller ne fonctionne pas dans le champ SQL/cymailing dans joomla (>
              Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

              Commentaire


              • #8
                j'ignore ce quest SQL/mailing, jamais entendu parler , la requête est correcte

                Commentaire


                • #9
                  ok j'étais court; je mets une requete SQL dans un segment d'acymailing.
                  Sinon pour infos, dans joomla je ne mettais jamais le préfixe et cela fonctionnait. Ex :
                  Code:
                  SELECT id as value, title as text
                  FROM #__content
                  WHERE catid=21
                  ORDER BY case value when "" then 1 else 2 end asc , text asc
                  
                  ​
                  Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

                  Commentaire


                  • #10
                    bien sur car joomla remplace #__ par le préfixe alors que phpmyadmin c'est du SQL sans bricolage
                    pour acymailing je peux pas te dire, j'ai abandonne car c'est devenu une horreur et en plus trop cher

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X