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 :

Comment mettre à jour en conservant les données actuelles d'un champs


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut Comment mettre à jour en conservant les données actuelles d'un champs
    Bonjour,

    j'ai un petit souci, je voudrais dans un script php créer une requète pour mettre de mettre à jour les données d'un champs en conservant les données déjà enregistré de ce champs.

    Exemple : j'ai un champs amis dans lequel j'ai en enregistrement : Roger, Bernard, Patrick

    et je veux rajouter à la suite Michel par exemple

  2. #2
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    faut voir ta BDD mais si tu veux faire l'enregistrement c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="UPDATE personne SET nomami= ' ".$nomamiajouter." '
           where num_pers= ' ". $numpers. " ' ";
     
    $rq_exe=mysql_query($sql) or die (mysql_error());
    si tu veux plus d'explication dit le, là je fais court, mais je part du principe que tu connais le php.

    le code avec les cote et les guillemet c'est sans espace ce qui donne
    '".$nomamiajouter."'
    Loi de l’Inertie de la Programmation de Dijkstra
    Si vous ne savez pas ce que votre programme est censé faire, vous feriez bien de ne pas commencer à l’écrire.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    en fait je crois que je me suis mal fait comprendre dans mon post. Une mise à jour de ce type, je sais faire. En fait, j'ai un champs listeami. Donc dans un champs, j'enregistre de cette manière > Roger,Raymond,Michel et à la suite de cette chaine de caractère, je veux rajouter par exemple Bernard pour ensuite avoir dans le champs listeami de l'utilisateur Lambda Roger,Raymond,Michel,Bernard

    et j'aimerais faire ça sans passer avant par un select si possible. Merci d'avance

  4. #4
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    ha ok, excuse moi donc.

    Une question ce que tu apel Champ ami, c'est une liste ?
    car pour moi un champ est par exemple un champ text...
    Loi de l’Inertie de la Programmation de Dijkstra
    Si vous ne savez pas ce que votre programme est censé faire, vous feriez bien de ne pas commencer à l’écrire.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    non non c'est un enregistrement de type texte. Comme dans un champs pour le contenu d'un message d'un forum par exemple.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    Pour être plus précis, j'ai une table "utilisateurs" contenant les champs "id", "pseudo", "mail", "listeamis" (pour résumer)

    En fait, j'ai par exemple un utilisateur qui a ces enregistrement :

    id:2 pseudo:bebert mail:bebert@gmail.com listeamis: Roger,Gérard,Philippe

    et je veux pouvoir mettre à jour en obtenant ça ensuite :

    id:2 pseudo:bebert mail:bebert@gmail.com listeamis: Roger,Gérard,Philippe,Olivier

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE utilisateurs SET listeamis = CONCAT(listeamis, ', Olivier') WHERE ...;

  8. #8
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut voir l'edit...
    Donc si je comprend bien tu as cela en affichage

    Nom : [champtext]
    Mail : [champtext]

    Amis : [champtext]

    ta liste au depart affiche,

    Amis : Roger, Caroline, François

    Tu voudrais avoir un autre champs pour inserer un nouvel ami ? ou l'ecrire a la suite?

    Désolé mais prise de tete javascript donc mal de tete donc dur dur de tout comprendre lol

    Edit : voila aussi ou je voulais en venir mais Julp est plus rapide est plus consi que moi
    Loi de l’Inertie de la Programmation de Dijkstra
    Si vous ne savez pas ce que votre programme est censé faire, vous feriez bien de ne pas commencer à l’écrire.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    je pense que c'est justement ça la requète, je teste ça et je vous dis si c OK car mon problème n'est pas encore réglé lol

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    Bon alors ça marche mais voilà le souci. Ma syntaxe dans mon champs est exactement comme ça lorsqu'on met un premier amis :
    {"Amis":["Oliv"]}
    puis au deuxieme amis, la syntaxe est de cette forme :
    {"Amis":["fafa","Test"]}

    Alors comment insérer le nouvelle enregistrement entre les crochers. Et comment ne pas mettre la virgule lors du premier enregistrement?

    Après si vous êtes chaud, ça serait cool de me dire comment on supprime ensuite une partie de ce champs. J'ai vraiment du mal avec le traitement des chaine de caractère

  11. #11
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    tu a tenté d'effectué un explode de ton champ?

    je veux dire tu recupere ton champ complet.
    soit:
    $chaine=olivier,mathieu etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $data=explode(",",$chaine);
    $nom1=$data[0];
    $nom2=$data[1];
    bref tu fais une chaine pour recupèrer tout tes "amis" et un après tu boucles de nouveau pour enregistrer les champs...

    Après sinon je vois comment t'aider désoler...
    Loi de l’Inertie de la Programmation de Dijkstra
    Si vous ne savez pas ce que votre programme est censé faire, vous feriez bien de ne pas commencer à l’écrire.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    je vé essayer avec explode, merci encore pour ton aide

  13. #13
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    Ben de rien, si tu trouve comment faire poste la réponse cela pourra peut etre aider quelqu'un d'autre.

    A la prochaine et bonne chance.
    Loi de l’Inertie de la Programmation de Dijkstra
    Si vous ne savez pas ce que votre programme est censé faire, vous feriez bien de ne pas commencer à l’écrire.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    c galère, mais je pense que j'vé m'en sortir. Je vous tiens au courant. Là je vais faire une tite pause car 2H30 de php d'affilé, ça creve!

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    ca ne marche pas
    je n'arriv pas à faire le explode sur cette chaine. Car à partir du deuxieme prénom, ce n'est plus la même chaine de caractère que je dois supprimer... quand je vous disais que j'avais du mal avec les chaine de caractère

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2008, 23h55
  2. Comment mettre à jour une base de données access
    Par nicolas2603 dans le forum VB.NET
    Réponses: 11
    Dernier message: 16/10/2007, 14h40
  3. Réponses: 3
    Dernier message: 14/06/2007, 13h47
  4. Comment Mettre à jour via les ControleDB
    Par Korko Fain dans le forum Bases de données
    Réponses: 8
    Dernier message: 24/04/2007, 10h11
  5. Réponses: 1
    Dernier message: 15/09/2006, 11h24

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