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

Langage SQL Discussion :

condition qui ne marche pas avec un string


Sujet :

Langage SQL

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 28
    Points
    28
    Par défaut condition qui ne marche pas avec un string
    Salutations,

    Je m'explique, l'ambiance générale: je travaille sous D4PHP, avec une base de données FireBird, et j'utilise de l'Ajax pour lier deux listes.

    J'ai des requêtes qui fonctionnent sur un simple onChange en reachargeantr la page, mais maintenant la requête sql ne marche pas lorsque je fais une comparaison parl 'intermédiaire du WHERE.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT PERSONNE.NOM_PERS 
    FROM PERSONNE 
    WHERE NOM_PERS="Pere"
    Mais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT BATIMENT.CODE_BAT 
    FROM BATIMENT 
    WHERE CODE_BAT=2
    fonctionne tout à fait bien. Si vous avez une idée du formatage de la chaîne de caractères j'ai essayé d'utiliser la fonction CAST mais sans succès.

    Je vous remercie par avance, si vous avez la moindre idée concernant ce sujet. Bonne continuation à vous, amicalement descurai

  2. #2
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    1) les chaines sont entourées de simples quotes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT PERSONNE.NOM_PERS FROM PERSONNE WHERE NOM_PERS='Pere'
    et attention une chaine de caractère doit etre testée avec les prise en compte de la casse etc.
    Pere <> PERE <> pere <> PeRe <> ...

    ce qui est contournable par des requetes du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT PERSONNE.NOM_PERS FROM PERSONNE WHERE UPPER(NOM_PERS)=UPPER('Pere')
    qui compare les expression en majuscule
    les fonctions de casse (Upper) sont souvent propre au sgbd utilisé

    sachant qu'on a UPPER pour Interbase, je pense que c'est pareil pour FireBird

    A+

    juva
    Juvamine

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 28
    Points
    28
    Par défaut
    ça juva bien, merci juvamine ça marche.

    J'avais pas pensé a Upper, bizarre comme truc.

    MeRcI encore , rapide et efficace^^

    J' ai un autre petit problème, j'ai une table qui ne veut pas s'afficher dans l'appel à la combobox. PEnsant que c'était un problème d'encodage car utilisant Js j'ai encodé en utf_8 mais sans aucun résultat. Je pense que puisque c'est la seule table qui comporte des accents et qui en fonctionnent pas l'erreur vient de la.

    Mon petit Code :


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php
    $v='' ;
    if(isset($_POST["nomsite"]))
    {
    $v=$_POST["nomsite"];
    }
     
    // Connexion a la base de donnée
    $conn=ibase_connect('localhost:D:\BD_G2IT\BASEDESBONS.FDB', 'SYSDBA', 'masterkey');
     
    if (!$conn)
    {
    echo "Access Denied!";
    exit;
    }
     
    //Exécuter la requête
    $result=ibase_query($conn,"SELECT UPPER(MATERIEL.NOM_MAT) FROM MATERIEL");
     
    //Remise à zéro de la combo
    ?>
    comboo.length=0;
    <?php
     
    //Traitement lignes et colonnes
    while ($row = ibase_fetch_row ($result))
    {
    $var2=utf8_encode($row[0]);
    echo "var plouf='$var2';";
     
    // Fonction d'ajout en JS
    ?>
    function additem(obj,text)
    {
    var newOpt = obj.appendChild(document.createElement('option'));
    newOpt.text = text;
    }
    additem(vcl.$('comboo'),plouf);
    <?php
    }
    ?>
    Voili voilou, je pense que ça doit être une chose toute bête, pour quelqu'un qui sait comme d'habitude. Je me remets donc à ces valeureux possesseurs de savoir pour éclairer ma lanterne. Amicalement, descurai.

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 28
    Points
    28
    Par défaut
    Après un test , sur une table perdue, elle aussi accentué il s'avère que le problème ne vient pas de la, et même que l'encodage utf8 est inutile. Du moins pour l'affichage dans les combobox correspondantes.

    Mise à Jour : le nombre de caractère supporté par la combo est inférieur à 18. Comment faire pour augmenter celui-ci ?

    L'augmentation de la taille de la combobox et l'abaissement de la taille de la police n'influe apparemment pas sur cette caractéristique.

    Merci d'avance pour vos idées ,amicalement descurai.

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 788
    Points
    30 788
    Par défaut
    Cette dernière question n'a plus aucun rapport avec le langage SQL...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 28
    Points
    28
    Par défaut
    JE m'excuse de ne pas avoir fermé le post auparavant, je vais tout de même répondre au problème posé précédemment.

    C'est juste un problème de chaîne de caractère et un problème de Php en l'occurence.

    Il faut pour enlever cette limite rajouter la fonction addslashes à la variable que vous allez stocker dans la combobox.

    Sujet Clos, et résolu.
    Merci encore à vous tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Upload qui ne marche pas avec mon hébergeur
    Par kamalalex dans le forum Langage
    Réponses: 6
    Dernier message: 23/02/2012, 16h13
  2. Un .configure() qui ne marche pas avec l'argument 'image'
    Par moithibault dans le forum Tkinter
    Réponses: 1
    Dernier message: 05/12/2010, 03h23
  3. Réponses: 1
    Dernier message: 27/11/2010, 15h43
  4. [PHP 5.3] Fonction str_replace qui ne marche pas avec '<br/>' ?
    Par [ZiP] dans le forum Langage
    Réponses: 1
    Dernier message: 28/02/2010, 18h27
  5. Condition qui ne marche pas
    Par Pierre.g dans le forum C
    Réponses: 5
    Dernier message: 24/08/2006, 03h29

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