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 :

update d'array et virgule


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut update d'array et virgule
    Bonjour à tous !

    J'étais venu il y a quelques temps parce que je ne comprenais pas comment mettre à jour un array dans ma table, et on m'avait fait part d'une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $listusers[] = $user;
    $tab = implode(',',$listeusers);
    		$query = 'UPDATE users SET list = {'.$tab.'}  WHERE city=\''.$city.'\'';
    		$result = pg_query($query) or die('Échec de la requête : ' . pg_last_error());
    En utilisant le implode, j'ai effectivement eu le comportement que je voulais.

    Sauf que depuis, je suis passé à une autre table, qui contient elle aussi un array, et là les valeurs dedans peuvent contenir des virgules. Du coup, je n'ai pas le résultats que je voudrais :

    {test, test1} en base, on veut ajouter "test2, le bon", on obtient :

    {test, test1, test2, le bon}
    J'aimerai pouvoir différencier chaque bloc, quitte à mettre un séparateur différent, mais comment puis-je faire ça ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Par défaut
    salut,

    tu change le separateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab = implode(';',$listeusers);

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ca marchera pas puisque il faut absolument des virgules pour la requête ...

    Il faut donc que tu échapes les , contenu dans ton tableau, regardes dans les str_replace ...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    Donc que j'utilise str_replace, pour mettre un caractère que les utilisateurs n'iront pas mettre normalement dans cette chaîne là, c'est ça ?

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    J'essayerais 2 solutions:
    1) Remplacer les , qui sont dans les $listeUsers[i] par un $listeUsers[i] = str_replace(",", "\,", $listeUsers[i]); dans une boucle. Puis dans l'autre sens quand tu liras la base.

    2) Regarder une fonction qui échape les , dans ce cas là

  6. #6
    Expert confirmé

    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
    Par défaut
    Faut faire une table lié c'est de la bidouille ce que tu fais

Discussions similaires

  1. [PostgreSQL] Select et Update d'array
    Par cyscek dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/06/2012, 11h23
  2. [AC-2003] [SQL] [VBA] UPDATE nombre à virgule
    Par antoinev2 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/11/2009, 21h51
  3. je crée un Array mais le premier caractère est une virgule (?)
    Par beegees dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2009, 20h30
  4. Réponses: 3
    Dernier message: 14/12/2005, 15h17
  5. update et virgule
    Par Delph dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/08/2002, 14h40

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