Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2011, 16h36   #1
Membre du Club
 
Inscription : novembre 2008
Messages : 270
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 270
Points : 50
Points : 50
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 :
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.
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 16h54   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
utilise sprintf, et oublie pas de protégé tes valeurs : http://php.net/manual/fr/security.da...-injection.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 18h15   #3
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 18h40   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 19h20   #5
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 19h31   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 20h01   #7
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 20h43   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 21h06   #9
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 10h41   #10
Membre du Club
 
Inscription : novembre 2008
Messages : 270
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 270
Points : 50
Points : 50
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.
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h14.


 
 
 
 
Partenaires

Hébergement Web