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 PHP Discussion :

Chaînes de caractères imbriquées [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut Chaînes de caractères imbriquées
    Bonjour,

    J'ai trois chaînes de caractères imbriquées et je ne sais pas comment les séparer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "INSERT INTO tableau(code, nom, geom)		
    VALUES('".$_POST['code']."','".$_POST['nom']."','geomfromewkt('SRID=102581;POINT (".$_POST['coord_x']." ".$_POST['coord_y']." ".$_POST['coord_z'].")')')";
    Le problème est que je ne sais pas comment délimiter la chaîne commençant par SRID et terminant par l'avant-avant dernière parenthèse.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    utilise sprintf, et oublie pas de protégé tes valeurs : http://php.net/manual/fr/security.da...-injection.php

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par yo_haha Voir le message
    je ne sais pas comment les séparer.
    Bonjour,

    En mettant chaque données "geom" dans des champs séparés de la table "tableau".

    Ou en créant une table spécifique pour les données "geom". Auquel tu accèdera en faisant une jointure avec la table "tableau".

    Ou en créant un tableau associatif des données "geom" et en utilisant la fonction serialize() afin de le stocker dans la colonne "geom" de la table "tableau".
    Puis unserialize() pour récupérer le tableau.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par philodido Voir le message
    Bonjour,

    En mettant chaque données "geom" dans des champs séparés de la table "tableau".

    Ou en créant une table spécifique pour les données "geom". Auquel tu accèdera en faisant une jointure avec la table "tableau".

    Ou en créant un tableau associatif des données "geom" et en utilisant la fonction serialize() afin de le stocker dans la colonne "geom" de la table "tableau".
    Puis unserialize() pour récupérer le tableau.
    c'est pas dutout ça, relis bien son probleme, de plus d’être fausse, c'est un très mauvaise méthode que tu lui proposes

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Toi tu n'a fais que lui balancer le nom d'une fonction. C'est sûr que tu prend moins de risques que moi. De plus mes solutions ne sont absolument pas fausses.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par philodido Voir le message
    Toi tu n'a fais que lui balancer le nom d'une fonction. C'est sûr que tu prend moins de risques que moi. De plus mes solutions ne sont absolument pas fausses.
    c'est pas la peine d’être vexé, je te conseil plus d'aller voir la doc de Postgre pour savoir a quoi correspond la class Point,
    Sérialiser un tableau en php dans un base de données est complétement inutile et va à l'encontre d'un SGBD

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Ok pour la class POINT, je ne connaissais pas, et c'est un turc relativement spécifique qu'aurait pu préciser yo_haha. Mais pourquoi ne pas m'avoir expliqué cela dés le départ au lieu de me balancer : 'c'est faux' sans explications.
    En ce qui concerne la "serialisation" d'un tableau PHP dans une base de donnée (je ne parle pas du cas présent) j'ai jamais dit que c'était la meilleur solution du monde, d'ailleurs tu pourra constater que je l'ai mise en dernier. Après c'est à l'utilisateur de voir en fonction de son code, de son niveau et de son temps. Mais ça existe.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    c'est pas parce qu'on peut le faire, qu'on doit le faire, et c'est pas parce qu'un vieux tuto de 2007 donne un exemple qu'il faut le le suivre (les premiers commentaire sont assez représentatif de la chose), on peut trouver une utilisation a tous ça mais bon ... pour stocker un tableau on fait des tables relationnelles

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par philodido Voir le message
    j'ai jamais dit que c'était la meilleur solution du monde, d'ailleurs tu pourra constater que je l'ai mise en dernier.
    Citation Envoyé par stealth35 Voir le message
    on peut trouver une utilisation a tous ça mais bon ... pour stocker un tableau on fait des tables relationnelles
    On est d'accord alors.

  10. #10
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut
    Je vous remercie de vos réponses. La solution que j'ai choisie consiste à mettre geomfromewkt(...) dans une variable à part et ensuite insérer cette variable dans le texte de la requête.

    Cordialement.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  3. Chaînes de caractères
    Par Zazeglu dans le forum C
    Réponses: 3
    Dernier message: 28/08/2003, 16h20
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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