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

PHP & Base de données Discussion :

Probleme chez free avec les champs "geometry" [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 100
    Points : 64
    Points
    64
    Par défaut Probleme chez free avec les champs "geometry"
    Bonjour à tous,

    Je viens de mettre en ligne chez free une application, une espece de webmapping dans laquelle je me sers dans ma base de donnée de champs "geometry" . Pour developper l'application, je l'ai fait en local avec EasyPHP 1.8.01., Mysql 4.1.9. Chez free, la version de mysql est MySQL 5.0.25.

    Toujours est il que lorsque j'ai mis en ligne l'application que que j'ai chargée la base, il a reconnu les champs geometry et les données que j'ai importées l'ont été correctement.

    Mais lorsque je charge les données, il y a des bugs.

    Lorsque je fais une requette comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $SQL = "SELECT max(tdv_points.ID) AS ID FROM tdv_points INNER JOIN tdv_obs ON 
    tdv_obs.ID_session=tdv_obs_session.ID_Session  
    INNER JOIN tdv_obs_session ON 
    tdv_points.ID=tdv_obs_session.ID_Lieux 
    WHERE tdv_obs.Validite=2 OR tdv_obs.Validite=3";
    $res = mysql_query($SQL);
    $tab=mysql_fetch_array($res);
    $nbr_pts=$tab['ID'];?>
    J'obtiens à l'écran le message d'erreur suivant:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/138/sdc/4/0/guillaume.saez/log/ajout.php on line 15

    Qui me fait en plus, par la suite, enchainer des erreurs par rapport à mon javascript, et du coup tout devient foireux.

    La ligne 15 correspond à la requette d'en haut. En local, cela fonctionne trés bien. Comprend pô!

    D'autant plus, que lorsque l'on va sur une autre page de ce site, ou je fais de nouveau appel à ces champs, la cela fonctionne trés bien!


    Il me reconnait les champs et m'affiche correctement les valeurs des champs.

    Je ne comprend pas. Ma premiere requete est bonne puisqu'elle marche ne local. Cela vient-il du type geography ou non? Sinon, d'ou cela peut il bien venir??


    Edit:

    Je viens de m'appercevoir d'une autre requette qu'il ne supporte pas, et qui fonctionnait trés bien en local:

    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
     $Table2= mysql_query("SELECT AsText(tdv_points.Longitude) AS points, 
    tdv_points.ID, tdv_points.nom FROM tdv_points INNER JOIN tdv_obs ON 
    tdv_obs.ID_session=tdv_obs_session.ID_Session  
    INNER JOIN tdv_obs_session ON tdv_points.ID=tdv_obs_session.ID_Lieux 
    WHERE tdv_obs.Validite=2 OR tdv_obs.Validite=3 GROUP BY nom");
     
    while ($Elt2= mysql_fetch_array($Table2)){
    $points=$Elt2['points'];
    $lat=mysql_query("SELECT Y(GeomFromText('$points')) AS latitude FROM tdv_points");
    $Elt3= mysql_fetch_array($lat);
    echo"latitude[".$i."]=".$latitude[$i]=$Elt3['latitude'].";";
     
    $long=mysql_query("SELECT X(GeomFromText('$points')) AS longitude FROM tdv_points");
    $Elt3= mysql_fetch_array($long);
    echo"longitude[".$i."]=".$longitude[$i]=$Elt3['longitude'].";";
    echo "nom[".$i."]='".$Elt2['nom']."';";
    echo "ID[".$i."]='".$Elt2['ID']."';";
     
    $i++;
    }
    toujours avec ces champs géographiques...

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    regle n°2 de la signature

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 100
    Points : 64
    Points
    64
    Par défaut
    regle n°2 de la signature
    Merci de ce petit truc fort utile.. Je l'ai donc fait, et voici mon message d'erreur:
    Unknown column 'tdv_obs_session.ID_Session' in 'on clause'

    Message identique pour les 2 requettes citées ci dessus.

    Apres quelques recherches, il se trouve que c'est le passage de MySQL 4 à MySQL 5 qui pose quelques difficultées dans les jointures. C'est devenu un peu plus capricieux, obligeant à plus de précision.

    Par exemple, j'ai réecrit ma premiere comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $SQL = "SELECT max(tdv_points.ID) AS ID FROM tdv_points JOIN tdv_obs_session 
    ON tdv_points.ID=tdv_obs_session.ID_Lieux JOIN tdv_obs ON 
    tdv_obs_session.ID_Session=tdv_obs.ID_session WHERE 
    tdv_obs.Validite=2 OR tdv_obs.Validite=3";
    Et depuis tout marche à merveille !

    Lors de premiere requette, l'orde pour les jointures n'étaient tout simplement pas respecté, ca passait dans la version 4, mais ca passe plus dans la version 5, faudra etre plus attentif maintenant

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

Discussions similaires

  1. Probleme avec les champs calculé
    Par Malou3216 dans le forum Modélisation
    Réponses: 6
    Dernier message: 23/05/2007, 14h31
  2. un petit probleme avec les champs de texte
    Par visualk dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 28/04/2007, 22h51
  3. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06

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