IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

AUTOREPLY SMS avec MYSQL


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut AUTOREPLY SMS avec MYSQL
    Bonjour à tous,

    Je viens enfin de finir de configurer ma plateforme SMS sous Linux Kubuntu avec Gammu. Son daemon smsd permet d'archiver et de gérer les SMS sortants et entrants dans une base Mysql.
    L'objectif de cette plate-forme est de creer des jeux simples et autonomes ainsi que des sondages instantanés.

    Mon problème est le suivant:
    Je voudrais implémanter quelques fonctions que j'ai du mal à developper vu que je ne suis pas trop du domaine.
    D'abord je souhaiterais y ajouter une fonction autoreply
    j'ai un code en example ici mais quand je l'importe dans ma base j'ai une erreur de syntaxe qui bloque l'importation. Pourriez vous y jeter un coup d'oeil ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     CREATE TRIGGER autoreply ON inbox
    FOR INSERT AS
    DECLARE @tel VARCHAR(20)
    SELECT TOP 1 @tel=SenderNumber FROM inbox ORDER BY ID DESC
    INSERT INTO outbox (DestinationNumber,Text) VALUES (@tel,'Merci pour votre message')
    GO
    Pendant que j'y suis j'en profite pour vous demander si vous ne connaitriez pas un modèle de base de données avec une interface PHP pour les sondages que je pourrais relier à ma base SMS entrants.
    j'ai entendu parlé de l'application Artichow pour les Graphiques ... qu'est-ce que vous en pensez ?

    Merci

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut Alleeeez un petit coup de main
    J'ai toujous pas trouver ma solution alors Je vous relance parce qu'apparement y'a pas foule pour m'aider sur ce problème.

    Toujours à l'écoute

  3. #3
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Il n'y a pas eu de réponses car nous n'avons pas le code d'erreur et que cette question a plusieurs fois été traitée sur ce forum.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     CREATE TRIGGER autoreply ON inbox
    FOR INSERT AS
    DECLARE @tel VARCHAR(20)
    SELECT TOP 1 @tel=SenderNumber FROM inbox ORDER BY ID DESC
    INSERT INTO outbox (DestinationNumber,Text) VALUES (@tel,'Merci pour votre message')
    GO
    votre syntaxe correspond à MSSQL SERVER et non pas à MySQL, il manque les démilimiteurs pour les deux requêtes. Sans l'avoir testé, je pense que la solution ressemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DELIMITER |
    CREATE TRIGGER autoreply BEFORE INSERT inbox
    FOR EACH ROW
    BEGIN
      DECLARE @tel VARCHAR(20)
      SELECT @tel=SenderNumber FROM inbox ORDER BY ID DESC LIMIT 1;
      INSERT INTO outbox (DestinationNumber,Text) VALUES (@tel,'Merci pour votre message');
    END
    DELIMITER |

    Pour de plus ample renseignements, voici la documentation française

    20.1 Syntaxe de CREATE TRIGGER

    La version anglaise est plus fournie et contient des exemples supplémentaires

    18.1. CREATE TRIGGER Syntax
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut la valeur "@tel"
    Merci pour ta réponse

    C'est vrai j'ai copié betement un example que j'avais trouvé sur le net sans me rendre compte que c'était une syntaxe Microsoft SQL server.
    mais j'espère être excusé je suis un vrai débutant.
    je vais tester ta proposition mais avant j'aimerais savoir un truc peut être idiot:
    le "@tel" correspond à quel type de données ?

    En fait je veux faire un autoreply sélectif sur les sms entrants dans inbox.
    Ma base inbox est constituée comme ceci:

    UpdatedInDB
    ReceivingDateTime
    Text
    SenderNumber
    Coding
    UDH
    SMSCNumber
    Class
    TextDecoded
    ID
    RecipientID
    Processed

    Donc mon trigger doit déclencher une réponse automatique qui va se loger dans ma table outbox.

    euh... j'ai bien expliqué là ?
    Anyway...
    Merci encore pour les corrections que je vais tester et je te tiens au courant.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut Encore erreur syntaxe
    euh... excuses mais...
    J'ai encore une erreur mais bon je crois que c'est lié à ma question précédente sur le "@tel" qui ne correspond à rien. enfin celon ma compréhension de débutant ...
    Sinon voici le message d'rreur si ça peut servir ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Erreur
     
    requête SQL: Documentation
     
    CREATE TRIGGER autoreply BEFORE INSERT inbox
    FOR EACH
    ROW
    BEGIN DECLARE@tel VARCHAR( 20 )
    SELECT @tel = SenderNumber
    FROM inbox
    ORDER BY ID DESC
    LIMIT 1 ;
     
    MySQL a répondu:Documentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'inbox
    FOR EACH ROW
    BEGIN
    DECLARE @tel VARCHAR(20)
    SELECT @tel=SenderNumber F' at line 1

Discussions similaires

  1. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 19h20
  2. pb format datetime avec mysql
    Par ms91fr dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/12/2004, 14h12
  3. Help ODBC avec Mysql
    Par Ashura75013 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/02/2004, 08h11
  4. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo