MYSQL if statements

Résolu
Bonjour,

Je cherche un tuto sur l'utilisation du if statement en mysql, mais impossible d'en trouver. Si personne n'en connait, quelqu'un saurait il si on peut se servir du if mysql dans une requête passée par php?

En vous remerciant,

Smoke

--
Tout le pouvoir du bambou
Configuration: personnelle^^

11 réponses

  1. Bon, okay, ça devrait le faire maintenant :) ça m'a évité pas mal de galères avec php!! Je laisse mon ancien code en commentaire, histoire de mettre à l'épreuve le système actuel^^
    En tous cas merci pour ton aide, je planchais dessus depuis une bonne semaine :)

    Bonne journée!
    0
    1. ouaaaaaaaaaaaaaa ça m'a tout l'air de marcher!!! je colle ça dans mon php pour vérifier et j'te dis :)
      0
      1. Non, sans délimiteurs.
        Avec CASE, cela devrait faire :
        ... FROM notebox n
        INNER JOIN accounts a ON 
        CASE n.reader
            WHEN '0000000001' THEN n.author=a.tag
            ELSE n.reader = a.tag
        END
        WHERE ...
        Et avec la fonction IF :
        ... FROM notebox n
        INNER JOIN accounts a ON IF(n.reader='0000000001', n.author=a.tag, n.reader = a.tag)
        WHERE ...
        0
        1. Salut, et merci pour ton coup de main au passage :)
          Comment suis je supposé intégrer ces conditions dans ma requête? comme ça, sauvagement, avec des délimiteurs précis?
          0
          1. Utilise le case, ou la fonction if() si tu n'as que 2 états, la structure if|else ne doit pas être utilisable directement dans une requête.
            0
            1. SELECT DISTINCT count( n.ref ) , n.chatTag, n.ref, n.Date, n.Titre, n.author, n.reader, a.artName
              FROM notebox n
              INNER JOIN accounts a ON 
              begin
              if n.reader='0000000001' then n.author=a.tag;
              else n.reader = a.tag
              end//
              WHERE (
              n.reader = '0000000001'
              OR author = '0000000001'
              )
              AND n.Stat >0
              AND n.Own LIKE '%0000000001%'
              GROUP BY n.chatTag
              LIMIT 0 , 30
              0
              1. Montre un exemple de requête que tu voudrais obtenir ;)
                0
                1. Lol, merci de ton intérêt^^ j'ai déjà parcouru la doc sur le if, mais pas sur le case.
                  En fait je trouve pas comment j'pourrais intéresser un if mysql dans une requête mysql appellée via php :s j'trouve rien dessus :s
                  0
                  1. Quel rapport avec le php ?

                    http://dev.mysql.com/doc/refman/5.0/fr/if-statement.html
                    http://dev.mysql.com/doc/refman/5.0/fr/case-statement.html
                    0
                    1. bin justement, la doc m'aide pas franchement pour ce qui m'intéresse :s, de plus, je n'ai jamais vu d'aide php dans la doc mysql^^ :s
                      0
                      1. La documentation non ?

                        En général, on se sert plus de case que de if.
                        0