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

ORM PHP Discussion :

[sf 1.2] gestion de float dans une requete [Propel]


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut [sf 1.2] gestion de float dans une requete
    Bonjour,

    Je dois corriger une anomalie sur un site qui référence de bonne adresse et qui utilise l'api Google Maps.

    La requête, que je dois corriger, doit remonter des lieux enregistrés en base en fonction d'une latitude et longitude minimum et maximum.

    Voici :
    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
     
    // Récupération des extrémités de la carte courante
        $lng_max = max($request->getParameter('lng1'), $request->getParameter('lng2'));
        $lng_min = min($request->getParameter('lng1'), $request->getParameter('lng2'));
     
        $lat_max = max($request->getParameter('lat1'), $request->getParameter('lat2'));
        $lat_min = min($request->getParameter('lat1'), $request->getParameter('lat2'));
     
        $c = new Criteria();    
        $longitudeCriterion = $c->getNewCriterion(PlacePeer::GPS_Y, (float)$lat_min, Criteria::GREATER_THAN);
        $longitudeCriterion->addAnd($c->getNewCriterion(PlacePeer::GPS_Y, (float)$lat_max, Criteria::LESS_THAN));
     
        $latitudeCriterion = $c->getNewCriterion(PlacePeer::GPS_X, (float)$lng_min, Criteria::GREATER_THAN);
        $latitudeCriterion->addAnd($c->getNewCriterion(PlacePeer::GPS_X, (float)$lng_max, Criteria::LESS_THAN));
     
        $c->add($longitudeCriterion);    
        $c->add($latitudeCriterion);
     
        $c->addAscendingOrderByColumn('rand()');
        $c->setLimit('200');
     
        $places = PlacePeer::doSelect($c);
    Cette requete ne remonte rien mais si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        echo $c->toString();exit;
    j'ai la chose suivante :
    Criteria: SQL (may not be complete): SELECT FROM `place` WHERE (place.GPS_Y>:p1 AND place.GPS_Y<:p2) AND (place.GPS_X>:p3 AND place.GPS_X<:p4) ORDER BY rand() ASC LIMIT 200 Params: place.GPS_Y => 46.8846002499, place.GPS_Y => 47.5468715989, place.GPS_X => -2.51586914062, place.GPS_X => -0.554809570312
    En reprenant la requete et en l'adaptant dans mon phpMyAdmin, je fais ceci pour m'assurer que la requête est bien censé me remonter des informations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT *
    FROM `place` 
    WHERE (place.GPS_Y> 46.8846002499 AND place.GPS_Y< 47.5468715989) 
    AND (place.GPS_X> -2.51586914062 AND place.GPS_X< -0.554809570312)
    J'ai des résultats sur l'interface phpMyAdmin mais pas sur mon application ...
    Pour les coordonnées géographiques, je suis sur de moi pour le format, c'est à dire, l'utilisation du point et non de la virgule pour les décimales et sans mettre de double ou simple cote.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 141
    Par défaut j'ai oublié un détail essentiel
    Bonjour,

    J'ai finalement trouver mon problème. Le schema.yml définissait mes attributs latitude et longitude en varchar. Je les ai mit en float finalement.

    Toujours regarder la base si incompréhension il y a.

    Merci

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

Discussions similaires

  1. [mdx][2k5]Gestion du Today dans une requete MDX
    Par Supradine dans le forum SSAS
    Réponses: 4
    Dernier message: 10/10/2008, 08h42
  2. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41
  3. [JSP]probleme d'insertion float dans une table
    Par karamazov994 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/04/2005, 11h49
  4. Formater un float dans une requete
    Par Cedced dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 19/11/2004, 16h48
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

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